Auf ein Frame der Webseite zugreifen

Dunas

Erfahrenes Mitglied
Der Quelltext einer Webseite sieht wie folgt aus

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Die Stämme</title>
<link rel="stylesheet" type="text/css" href="stamm.css" />
<script type="text/javascript">
// <![CDATA[
window.setInterval("reload('ad_top.php')", 180000);
var lastLocation = null;

function reload(src_ad) {
	var currentLocation = frames.main.location.href;
	if(lastLocation != currentLocation) {
		frames.ad.location=src_ad;
		lastLocation = currentLocation;
	}
}

// ]]>
</script>
</head>

<frameset rows="66, *" frameborder="0" framespacing="0" border="0">
	<frame frameborder="0" noresize scrolling="no" marginheight="4" src="ad_top.php" name="ad" />
	<frame frameborder="0" marginwidth="5" marginheight="5" border="0" src="game.php?screen=overview&amp;top" name="main" />
</frameset>
</html>

Ich möchte jetzt auf den Frame mit dem namen "main" zugreifen und den Htmlcode auszulesen. Ich finde aber keine Möglichkeit dies zu tun!

Code:
window.content.document.documentElement.innerHTML
hier bekomme ich nur den oben angegeben Code zurück geliefert.

Code:
document.getElementsByName("main")
liefert mir nur "frame" zurück und wie ich damit weiter abreite weiß ich nicht
 
Zuletzt bearbeitet:
hallo,

gib dem Frame doch eine Id und greif über diese zu.
Code:
<frame frameborder="0" marginwidth="5" marginheight="5" border="0" src="game.php?screen=overview&amp;top" name="main" id="main"/>

Zugriff über:
document.getElementById("main");
 
Es ist leider nicht meine Webseite. Ich kan leider nur mit dem arbeiten was oben angegeben ist. Gibt es keine weitere Möglichkeit?

mit diesem Befehl
Code:
document.getElementsByName("main")[0]
erhalte ich
<frame name="main" src="game.php?screen=overview_villages&intro&popup" border="0" marginheight="5" marginwidth="5" frameborder="0">
also die initialisierungs Parameter
aber ich finde keinen Weg mir den Quellcode des Frames ausgeben zu lassen

Code:
parent.frames[1]
hier erhalte ich

ich nutze firebug um die scripts zu testen. ich gehe also davon aus das ich mit parent.frame[1] auf ein window objekt zugreife nur leider finde ich hier auch keinen weg zum quelltext

so langsam verzwifel ich :mad:

//////////////////////////////////////////
ich habe einen Weg gefunden, aber ich gehe davon aus das es nicht der eigentliche Weg ist.

Code:
parent.frames[1]._ubd.body.innerHTML
liefert mir das gewünschte Ergebniss. Sollte jemand eine andere Möglichkeit finden, würde ich mich über eine Antwort freuen
 
Zuletzt bearbeitet:
Sorry wegen des doppel Posts, aber dieser Weg funktioniert auch nicht. Zumindest nicht als Javascript einer Erweiterung in Firefox.
Es funktioniert nur mit Firebug, wobei ich noch mehr Wege gefunden habe. Diese funktionieren aber ebenfalls nur über die Kommandozeile von Firebug. Ich kann einfach nicht rausfinden wodran es liegt.
 
Code:
parent.frames[1]._ubd.body.innerHTML
liefert mir das gewünschte Ergebniss. Sollte jemand eine andere Möglichkeit finden, würde ich mich über eine Antwort freuen

Greife besser per DOM auf den <body> zu
Code:
window.main.document.getElementsByTagName('body')[0]
...dann kommst du auch an den Inhalt.

Beachte aber, dass man bei DS nicht gezwungenermassen Frames hat, da man die Werbung auch ausblenden kann.

Hier mal nen Beispiel, welches das berücksichtigt:
Code:
javascript:dsdoc=false;function mainsource(){dsdoc=(top.frames.length==0)?document:top.main.document;if(dsdoc){alert(dsdoc.getElementsByTagName('body')[0].innerHTML);}}mainsource();

....Und nicht schummeln, sonst komme ich mit Axtis vorbei :-)
 

Neue Beiträge

Zurück