# Frame quelltext auslesen



## Nino14 (17. März 2008)

Heey ich habe ein Problem mit Javascript. Habe noch nicht viel Javascript gemacht.

Also mein Problem is das ich den Quelltext (DOM) von nem anderem Frame brauche.

Ich habe nach einer Stunde googeln nicht wirklich was brauchbares gefunden.
Nur das hier:

```
<iframe id="frame" name="frame" src="<?= $url;?>"></iframe>
<script type="text/javascript">
q_text=frame.document.getElementsByTagName('html')[0].innerHTML;
alert(q_text);
</script>
```
Aber das funktioniert nicht so wie es soll.

Hat einer ne idee wie ich an den Quelltext des Frames komme?

LG Nino


----------



## Scooty3D (18. März 2008)

also wenn jetzt da schon <?= $url;?> drin steht, ist das eine variable von php, da bekommst auf jeden fall kein php-code, sondern immer nur der von deinem Browser angezeigten Quellcode, und der sollte angezeigt werden wenn du den Quellcode im Browser aufrufst. 
ok.
was wolltest du mit den java-script? sollte das den Quellcode ausgeben?

Info:
und wenn du die Datei aufrufst, sollte sie eine .php Datei sein!


z.B.

```
<? $url = "http://www.domain.xy"; ?>
<iframe id="frame" name="frame" src="<?= $url; ?></iframe>
```


----------



## Sven Mintel (18. März 2008)

Korrekt zugreifen musst du auf das Frame inkl. Dokument per


```
frame.document.getElementsByTagName('html')[0].innerHTML
```

wenn du auf das Dokument zugreifst, muss es schon geladen sein. Da das Elternfenster vor dem iFrame gelesen/geladen wird, ist davon auszugehen, dass das Dokument zum Zeitpunkt des Zugriffes noch nicht geladen ist...du musst das Ganze also später probieren

Die URL des Dokumentes im iFrame darf sich nicht auf einem entfernten Server befinden,...soll heissen: es muss sich unter derselben (Sub)Domain aufhalten wie das Elternfenster.


----------



## Scooty3D (18. März 2008)

so hab den code noch ein bisschen ausgearbeitet, ich hoff er kann dir so helfen?


```
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Seite im Frame und der Quelltext</title>
</head>
<body>
<p><? $url = "http://www.ebay.de/index.php"; ?>
  <iframe id="frame" name="frame" src="<?= $url; ?>" width="700" height="500" 
  </iframe>
</p>
<br />
<br />
<br />
<br />
  <?php
    $script = "$url";
    if(!$script) {
        echo "<BR><B>Fehler: Skript-Name nötig</B><BR>";
    } else {
        if (ereg("(\.php|\.inc)$",$script)) {
            echo "<H3>Quellcode von: $script </H3>\n<HR>\n"; 
            highlight_file($script);
        } else {
            echo "<H1>ERROR: Nur PHP oder Include-Skripte sind erlaubt</H1>"; 
        }
    }
?>

</body>
</html>
```


du kannst aber immer nur die direkten Dateien angeben.

also z.B. /index.php
alleine die URL geht nicht.
Aber vielleicht gib es ja jemand der dazu noch was zusagen hat.


----------



## Nino14 (18. März 2008)

Heey Scooty,

das ist schonmal fast sowas was ich suche nur leider muss das ganze clientseitig laufen und nich serverseitig. Desswegen habe ich ja Javascript gedacht.

Trotzem danke...
vllt hast du ja noch eine idee wie ich das mit javascript hinkriege.

LG Nino


----------

