Iframe - Inhalt ausgeben

Sasser

Erfahrenes Mitglied
Hallo Leute!

Ich versuche den Inhalt eines Iframes per:

HTML:
<script type="text/javascript">
var test = document.getElementById('toplist').contentWindow.document.body.innerHTML;
document.write(test);
</script>

auszugeben, aber was mache ich falsch?
 
Hi,

der Zugriff aufs document-Objekt und somit auf den body sollte auch über das contentWindow-Objekt möglich sein. Allerdings kann ein Zugriff erst erfolgen, wenn der iFrame ins Dokument eingebunden wurde - also zum Beispiel im onload-Event.

Code:
window.onload = function(){
  var test = document.getElementById('toplist').contentWindow.document.body.innerHTML;
  document.write(test);
}

Eine weitere Einschränkung: der Inhalt des iFrames muss unter der gleichen Domain liegen. Sonst ist ein Zugriff aufgrund der Sicherheitsrichtlinien von JavaScript nicht möglich (Richtlinie gleicher Herkunft).

Ciao
Quaese
 
Ich danke dir!

Sag mal kann ich nun mit JavaScript aus dem gewonnenen Quellcode einen Teil auslesen?

Habe es bisher mit PHP gelöst, aber das dürfte ja hier nicht funktionieren oder? Also dass ich den Quellcode nun an PHP übergebe als Variable!?
 
Quelltext - Iframe

Hallo!

Ich habe zwei Iframes, mit dem ersten rufe ich eine URL auf und möchte nun per JavaScript den Quelltext in eine Variable speichern und einen Teil im Quelltext filtern!

Der Teil beginnt nach "sid=" und ist 32 Stellen lang! Anschließend möchte ich diesen Teil angehängt an eine URL an src="" senden!

Wie kann man das mit JavaScript realisieren? Und überhaupt?
 
Also ich bin nun sehr weit gekommen!

Was nun noch fehlt ist, dass beim Auslesen des Quelltextes kein Referer und keine IP-Adresse des Aufrufers übergeben wird!? Wie kann man den Quelltext aufrufen und diese Informationen mit übergeben?

PHP:
$html = file_get_contents ( "http://www.domain.de" );

$sid = substr ( $html, strpos ( $html, "sid=" ) + 4, '32' );

echo "<b>SID: $sid</b>";
echo "<iframe width='100%' height='200' src='http://www.domain.de/index.php?a=in&u=User?sid=$sid'>";

Das folgende habe ich gefunden und es übergibt auch den Referer, allerdings fehlt nun noch die IP-Adresse des Aufrufers!?

PHP:
function getPage($url, $referer, $timeout, $header){
    if(!isset($timeout))
    $timeout=30;
    $curl = curl_init();
    if(strstr($referer,"://")){
    curl_setopt ($curl, CURLOPT_REFERER, $referer);
    }
    curl_setopt ($curl, CURLOPT_URL, $url);
    curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout);
    curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
    curl_setopt ($curl, CURLOPT_HEADER, (int)$header);
    curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
    $html = curl_exec ($curl);
    curl_close ($curl);
    return $html;
    }
    getPage(’http://YourDomain.Com’, ‘http://google.com’, ‘30');
 
Wenn es sich bei den Seiten im Iframe um Domain-Fremde Seiten handelt, hast du mit Javascript allein grundsätzlich keine Chance.
 
Danke für die schnelle Antwort!

Aber ist es nicht möglich, meinen folgenden Code auszubauen, sodass auch die IP des Benutzers mit übergeben wird? Ansonsten funktioniert das folgende Script!

PHP:
function getPage( $url, $referer ) {
    $curl = curl_init ();
    if (strstr ( $referer, "://" )) {
		curl_setopt ( $curl, CURLOPT_REFERER, $referer );
    }
	# Funktioniert leider nicht:
        # curl_setopt ( $curl, CURLOPT_INTERFACE, $_SERVER["REMOTE_ADDR"] );
    curl_setopt ( $curl, CURLOPT_URL, $url );
    curl_setopt ( $curl, CURLOPT_USERAGENT, sprintf ( "Mozilla/%d.0" , rand ( '4', '5' ) ) );
    curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, '1' );
    $html = curl_exec ( $curl );
    curl_close ( $curl );
    return $html;
}

$html = getPage ( 'http://www.domain.de', 'http://www.meineseite.de');  

$sid = substr ( $html, strpos ( $html, "sid=" ) + 4, '32' );

echo "<b>SID: $sid</b>";

echo "<iframe width='100%' height='500' src='http://www.domain.de/index.php?sid=$sid'>";
 
Quellcode aus Iframe auslesen und übergeben

Guten Tag!

Ich möchte gern den Quellcode eines Iframes auslesen und in diesem einen Teil filtern beginnend ab "&sid=" bis Ende und dieses dann an das zweite Iframe als SRC="" übergeben.

Kann mir jemand helfen dabei? Und ist das überhaupt möglich?

HTML:
<iframe id="quelle" src="www.meinedomain.de" width="100%" height="300"></iframe>

<iframe id="ziel" src="" width="100%" height="300"></iframe>

//EDIT

So, ich bin fast fertig!

Ich habe den Inhalt des Iframes jetzt in JavaScript in eine Variable "html" geschrieben.

Ich muss nun noch "sid" herausbekommen. Diese beginnt im HTML-Quelltext ab "sid=" und ist 32 stellen lang.

Wie kann man dies in Javascript aus der Variable nun filtern?

Ich PHP ist das ganz einfach, aber wie mache ich das in JavaScript?
 

Neue Beiträge

Zurück