Wenn Sie den Quellcode des Gmail-Clients überprüfen. Es gibt VIEW_DATA
Variable enthält viele Dinge im Zusammenhang mit Benutzerdaten. Ist es möglich, über Javascript auf diese Daten zuzugreifen?Zugriff auf die Variable VIEW_DATA über den Gmail-Quellcode über Javascript
Antwort
Es sieht so aus, als ob es nach der Verwendung VIEW_DATA
auf undefined
zurückgesetzt wird, vielleicht um Speicher zu sparen. Gmail scheint fast alles sauber in Verschlüssen zu halten, was es schwierig macht, aus dem globalen Kontext herauszukommen.
Ein möglich- aber zerbrechlich -Ansatz das DOM für das <script>
Element abfragen würde, wo VIEW_DATA
definiert ist, mit dem Sie die Original-Skript geben würde, Sie eval()
es in Ihrem eigenen Kontext zu lassen. Z.B .:
// get all of the <script> elements on the page
var scripts = document.getElementsByTagName('script'),
thisScript, varViewDataPos, viewDataScript, viewData
;
// loop through each one looking for VIEW_DATA being defined
for(var i = 0; i < scripts.length; i++) {
thisScript = scripts[ i ].textContent;
varViewDataPos = thisScript.indexOf('var VIEW_DATA=');
if(varViewDataPos >= 0) {
// might as well toss everything before VIEW_DATA is defined
viewDataScript = thisScript.slice(varViewDataPos);
break;
}
}
// eval what we found (if anything), but in a closure to avoid polluting
// the global namespace
viewData = (function(script) {
eval(script);
return VIEW_DATA;
})(viewDataScript);
console.log(viewData || 'Oops, script not found.');
Wie ich schon sagte, obwohl, wie jeder Screen-Scraping diese ziemlich zerbrechlich ist. Wenn Google etwas bewegt, werden Sie plötzlich Dinge finden, die Sie nicht wollen, wie Funktionsaufrufe, die die Seite brechen. Verwenden Sie es auf eigene Gefahr.
Sie finden vielleicht, dass letztlich andere Methoden, wie zum Beispiel die Suche nach den Daten, die Sie im DOM suchen, sinnvoller sind.
- 1. Zugriff auf die GPU über den Webbrowser
- 2. Zugriff auf einen Positionsparameter über eine Variable
- 3. Zugriff auf CSS-Medienabfrageregeln über JavaScript/DOM
- 4. Zugriff auf den WEB-API-Cookie über document.cookie in JavaScript
- 5. Zugriff auf die Sitzung in ASP.NET Core über statische Variable?
- 6. Zugriff auf die @ IBInspectable-Variable einer Schaltfläche über ihre @IBAction
- 7. Zugriff auf MongoDB direkt über JavaScript
- 8. Zugriff auf den Ember Data Store über die Konsole?
- 9. Variable über die Funktion übergeben Javascript/PHP
- 10. Anzeigen/Zugriff auf die Windows-Zertifikat-Viewer über JavaScript
- 11. KDB +/Q Zugriff auf den Root-Namespace über den Namespace
- 12. Pass Javascript Variable zu PHP über Ajax
- 13. MVC - Zugriff auf die Seite über den Zeitraum beschränken
- 14. Zugriff auf den lokalen Apache-Server über die virtuelle Box
- 15. Zugriff auf die Google-Kontonummer/den Nutzernamen über Android
- 16. Zugriff auf die serielle Schnittstelle über PHP
- 17. Zugriff auf die Eingabeaufforderung (Windows) über Java
- 18. Verwenden von Plunker, Zugriff auf Variablen über die Browserkonsole
- 19. Zugriff auf Entität über die Ansicht
- 20. Zugriff auf die Hostdatenbank über einen Andockcontainer
- 21. Zugriff auf die Datenbank über das Netzwerk
- 22. Javascript Zugriff auf übergeordnete Funktion Variable
- 23. Zugriff auf eine globale Variable über Unterverzeichnisse innerhalb eines Kernelbereichs?
- 24. Zugriff auf globale Variable über Methoden Verwirrung in Codeigniter?
- 25. Zugriff auf den Andock-Container über den iOS-Simulator
- 26. Zugriff auf Tabellendaten über Fremdschlüsselbezug?
- 27. Zugriff auf Serversteuerelemente über Seitenmethoden?
- 28. Cookie-Zugriff über JSONP
- 29. Zugriff auf Benutzer über C#
- 30. Zugriff auf NexusDB über Java
Splendid! Danke vielmals. –