1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. FMAvalon

Beiträge von FMAvalon

  • [Erweiterung] Javascript Code in Webseite parsen/grep'n

    • FMAvalon
    • 1. Juni 2007 um 12:17

    Moin,

    Also an den img tag, bzw an die ID komme ich ran über das aufzaehlen der XML dom objects im current windows document. Für den Javascriptteil habe ich das ganze nun einmal versucht per "view-source" zu ziehen, also mit einem kompletten XMLHttpRequest object und das ganze zu parsen zum auffinden des picArray parts ...

    Code
    function fetch(url) {	
    	http = new XMLHttpRequest();
    	http.open('GET', url, true);	
    	try {
    		http.send(null);
    		while (http.readyState != 4) {
    			//wait
    		}
    	} catch(e) {
    		return null;
    	}
    	return http.responseText;
    }
    Alles anzeigen
    Code
    var targ;
    			if (!ea) var ea = window.event;
    			if (ea.target) targ = ea.target;
    			else if (ea.srcElement) targ = ea.srcElement;
    			if (targ.nodeType == 3) // Safari bug entgegenwirken
    			   targ = targ.parentNode;
    			var tname;			
    			tname=targ.tagName;
    			tid = targ.getAttribute('id');					
    
    
    			// Downloade Seitenquelltext
    			srcText = fetch('view-source:'+window.content.location.href);
    
    
    			// finde richtiges picArray
    			istart = srcText.search('picArray\\['+idnum+'\\]');			
    			findText = srcText.substr(istart+10,20);			
    
    
    			picarrayno = findText.substring(findText.search('\\[')+1,findText.search(','));									
    
    
    			var nw1 = window.open('http://localhost/id?no='+picarrayno,'test','fullscreen=no,resizable=yes,height=500,width=700,location=no');
    			nw1.focus();
    Alles anzeigen

    Also wie gesagt bis zum ID Gewinn (getAttribute('id') ;) ist alles OK, die ID hab ich, aber danach das saugen, suchen und extrahieren von picArray per view-source Protokoll will einfach nicht.
    Das ganze ist sehr unsauber, sehr (sehr sehr) langsam und funktioniert eben auch nicht wirklich. Aber das ist aktuell mein Stand der Dinge. Hilfe! Any Ideas? ;)

    Ava

    ANHANG:
    Aktuell ist es eben so das er nach dem Aufruf im Browser genau 20 Sekunden "hängt", mir dann Firefox eine Warnung gibt ("Warnung: Nicht antwortendes Script" - "Ein Script auf dieser Seite ist eventuell beschäftigt oder es antwortet nicht mehr...") und sobald ich auf "Fortsetzen" drücke er mir mein 'nw1' Fenster aufmacht. Ich weiß nicht mehr weiter, es muss doch irgendwie auch ohne diese umständliche und langsame XMLHttpRequest() Geschichte gehen oder etwa nicht, wo ich doch schon an meine ID so schön rankomme?! :(

  • [Erweiterung] Javascript Code in Webseite parsen/grep'n

    • FMAvalon
    • 31. Mai 2007 um 14:21

    OK OK,

    Danke für das aufklären, hab ich auch verstanden. Damit ist zumindest schon einmal geklaert wie ich im Array an meine Zahl komme, was ja viel wert ist. ;)

    Aber ich glaube wir reden gerade aneinander vorbei. :?

    Mein eigentliches Problem ist ja erstmal das ich noch nicht herausgefunden habe wie ich auf seitens meiner Firefox Erweiterung an das besprochene Array in der Webseite rankomme.

    Also auf der einen Seite ist die Webseite mit dem betroffenen Javascriptteil, und auf der anderen ist mein Browser mit der zukünftigen Erweiterung, und diese soll im Quelltext der Webseite nach dem Array suchen, und genau daran scheitert es aktuell. :(

    Ava

  • [Erweiterung] Javascript Code in Webseite parsen/grep'n

    • FMAvalon
    • 31. Mai 2007 um 13:40
    Zitat von boardraider
    Code
    picArray[x][0]


    Hu, nun geht es in den Bereich der mehrdimensionale Arrays, da fühl ich mich gleich wie Captian Kirk, unerfahrene Welten und so. ;)

    Ich konnte es gerade noch nicht ausprobieren, da ich nicht auf der Arbeit bin und dort mein Rechner steht, aber du meinst ich kann bei meiner Erweiterung einfach nach "picArray[123][0]" suchen wenn ich entsprechend den Eintrag zu ID 123 will und dann mir dann meine Zahl per regexp rausfiltern? Das würde ja dann einfach sein. :shock: Oder bin ich da grad auf dem Holzweg, Sry bin da noch absolut unerfahren.

    Ava

  • [Erweiterung] Javascript Code in Webseite parsen/grep'n

    • FMAvalon
    • 31. Mai 2007 um 13:09

    Tach,

    Es gibt leider keine Beispielseite da diese Seiten nur in einem Firmeneigenen größeren Intranet bestehen und ich leider noch keinen Admin ran bekommen habe um zu fragen ob ich den gesamten Quelltext per copy&paste public machen darf weil da einige Infos drinstehen die denke ich nicht veröffentlicht werden sollen, zumindest bin ich da vorsichtig. :(

    Ist im Grunde eine per PHP generierte Pictures/Gallery Seite das dutzende Fotos als Thumbnails darstellt und mit normalen HTML Header etc. inklusive eben dem Javascriptcode drin. Der Javascriptcode ist dafuer da um zu jedem Bild ein "Tooltip" also ein Feld mit Hintergrundinformationen wie Fotograf, Datum des Bildes, Größe des Bildes etc aus einer Datenbank abzurufen und entsprechend bei einem mouseover darzustellen.

    Das betroffene Javascript sieht im Grunde also sehr schlank aus:

    Code
    <script>
    
    
    var itemsArray = new Array;
    
    
    picArray[1]  = [84515  , "65", "100"];
    picArray[2]  = [84574  , "0", "0"];
    picArray[3]  = [12541  , "76", "0"];
    ... usw ...
    </script>
    Alles anzeigen


    Eine andere funktion im Javascript ist dann einfach dafuer da anhand des entsprechenden Arrays die noetigen Daten aus der DB zu holen für das jeweilige Bild. Aber das ist ja eigentlich schon wieder ein Schritt der gar nicht interessant sein dürfte, weil ich will ja vorher "nur" an die 5stellige Zahl die im Array liegt für ein bestimmtes Bild, wie gesagt welche ID ich brauche weiß ich, nur wie ich die entsprechende Zeile rausfilter ist mir noch ein Rätsel. :(

    Ava

  • [Erweiterung] Javascript Code in Webseite parsen/grep'n

    • FMAvalon
    • 31. Mai 2007 um 10:56

    Hallo,

    Ich bin nicht wirklich der Javascript Könner aber ich versuche folgendes:

    Ähnlich wie bei der Erweiterung "Fastdic" die es einen ermöglicht mit Hilfe von z.B. [Strg]+Mausklick nach einem auf einer Webseite angeklicktem Wort in einer Suchmaschine/Dictionary zu suchen möchte ich ähnliches. Nur das es sich dabei nicht um ein Wort sondern einem Bild handelt, bzw den Hintergrundinformationen zu dem Bild.

    Aufbau sieht so aus das in dem "<img ..." tag eine "id=123" steht, mit dieser ID (in dem Fall "123") will ich das in der gleichen Webseite enthaltenen Javascript Array durchsuchen der so aussieht:

    Code
    (...)
    picArray[120]  = [25415  , "94", "100"];
    picArray[121]  = [10254  , "0", "0"];
    picArray[122]  = [45102  , "96", "100"];
    picArray[123]  = [41251  , "0", "0"];
    (...)


    Sprich, die ID 123 ist entsprechend "picArray[123]", und an die darin hinterlegten Informationen moechte ich ran, genauer gesagt an die 5-stellige Zahl ...

    Das auslesen der ID aus dem IMG tag klappt schon einwandfrei, aber ich bekomme es nicht gebacken anhand dieser ID in dem Javascript code oben in der Webseite danach zu suchen. Die Frage ist nun ob dies überhaupt möglich ist, oder wegen eventuellen Sichterheitsbedenken nicht funktioniert oder wenn es doch gehen sollte mir da einer ein Tipp oder ein Beispiel nennen kann.

    Ich danke schon einmal fürs lesen. :)

    so long
    Ava

    PS:
    Durch die Suchfunktion habe ich in einem älteren Beitrag zu einem anderen Thema die Möglichkeit gefunden bestimmte Zeilen in einem Quelltext auszulesen, leider sind die generierten Seiten dafuer nicht zu gebrauchen da der Array unterschiedliche 'Anfangszeilen' hat. :(

Unterstütze uns!

Jährlich (2026)

32,8 %

32,8% (213,31 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon