Hallo,
<iframe frameborder="no" scrolling="no" src="http://amigos.de/cgi-bin/counter.pl?font=1&len=3&textmode=1&id=zzz"></iframe>
[diese counterabfrage liefert einen zahlenwert, der weiterverwendet werden soll in der form:]
<script language="JavaScript">
if (zahlenwert > 500) {anweisung ...}
</script>
...
immer noch schwammig?
Nein, aber es wird nicht funktionieren. Es würde nur funktionieren, wenn die Seite, welche den IFrame einbindet, auch auf dem Host unter der URL http://amigos.de/ abgelegt ist. Alles andere verhindert die same origin poicy.
Beispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Zugriff auf IFrame</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
function getIFrame() {
var myIFrame = frames["IFrame"];
try {
var myIFrameDocument = myIFrame.document;
var myIFrameInnerHTML = myIFrameDocument.body.innerHTML;
alert(myIFrameInnerHTML);
} catch(e) {
alert(e.description);
}
}
//-->
</script>
</head>
<body>
<iframe name="IFrame" frameborder="no" scrolling="no" src="test.html"></iframe>
<button onclick="getIFrame();">getIFrame</button>
</body>
</html>
funktioniert, weil test.html auf dem selben Host liegt, wie die Ressource, welche den IFrame einbindet. Wird aber im IFrame eine Ressource angezeigt, die nicht von diesem Host ausgeliefert wird, dann darf mit JavaScript nicht darauf zugegriffen werden.
Grund für diese Einschränkung ist Folgende:
Gäbe es diese Einschränkung nicht, könnte man z.B. die Seite einer Bank in einem Frame der eigenen Präsenz einbinden und dann beliebig mit JavaScript manipulieren. Beispielsweise die Daten von Anmeldeformularen umleiten. Das nennt sich phising, ist kriminell und wird trotzdem gemacht. Allerdings wäre es ohne diese JavaScript-Einschränkung noch einfacher zu realisieren.
viele Grüße
Axel