2010-08-04 4 views
6

Nach dem Festlegen der Position eines Steuerelements auf eine Site. Wie könnte ich dann einen Blick auf das zugehörige HTML werfen? Ich merke, dass sobald ich Location setze, htmlText null wird und umgekehrt ... Wie also würde man den HTML-Code betrachten, der im Steuerelement in TEXT-Form angezeigt wird?Äquivalent von "Quelle anzeigen" für <mx:HTML> Komponente

Antwort

5

Sie machen das sicher nicht einfach, aber der Trick ist, das DOM zu verwenden.

Meine HTML-Steuerung 'html' genannt

<mx:HTML id="html" location="http://www.googolflex.com" 
     width="100%" height="100%" /> 

Das DOM innerhalb in der Htmlloader-HTML-Komponente enthalten ist, die bequem 'htmlloader' genannt wird.

var o : Object = html.htmlLoader.window.document.getElementsByTagName("html")[0]; 
trace(o.textContent); 
trace(o.innerText); 
trace(o.innerHTML); 

Ich bin kein Experte JavaScript, aber Sie haben im Wesentlichen die DOM durch html.htmlLoader.window Sie ausgesetzt. Abgesehen davon, dass Sie nicht so bequem die Quelle anzeigen können, können Sie viele JavaScript-artige Aufgaben über ActionScript ausführen.

Dieses Hilfedokument führt mich zu dieser Lösung: Accessing DOM and JavaScript objects from ActionScript

+0

Das funktioniert gut, ich habe 'html.htmlLoader.window.document.getElementsByTagName (" html ") [0] .outerHTML' zurückgegeben und den HTML-Code der gesamten Seite zurückbekommen. Es sollte beachtet werden, dass der HTMLLoader den Eingabecode anpasst, sodass vor der Anzeige keine Fehler auftreten. Meistens funktioniert es gut, aber manchmal bricht es die Seiten. – Tox

3

ich immer vergessen, wie dies zu tun, und ich habe die Suche tatsächlich gerade, wie es wieder zu tun. Fand diesen Schnipsel in einem alten Projekt von mir:

HTMLComponent.domWindow.document.documentElement.outerHTML 

Obwohl ich nicht sicher bin, ob diese Änderungen durch Javascript gemacht darstellt.

stellen Sie sicher, dass Sie dies nur bei einem vollständigen Ereignis von der HTML-Komponente verfolgen (es sei denn, Sie wissen, dass die Seite vollständig geladen wurde).

Verwandte Themen