übergabe von javascript-Werten in den iframe-tag
Was ist der beste Weg, um zu übergeben, den Wert statt in einer javascript-variable in einem iframe-Aufruf auf dem gleichen html-Seite? Ich bin versucht zu verbessern mein Website-response-Zeiten durch verschieben der ad-serving-javascript-code (der typische document.write('<script type="text/javascript" src=".."
) in einem separaten iframe. (Basierend auf diesem posting)
Die Anfrage an den ad-server benötigen in der Regel ein seed-variable deklariert, einmal pro Website und erhöht jedes mal die Seite geladen ist, die durch den client. Was ich will zu tun ist, übergeben Sie in der seed-variable in das Dokument aufgerufen, durch meine iframe-Abschnitt.
Den Samen variable initialisiert wurde in den "head" - tag, der mein Haupt-html-Dokument:
<head>
<script type="text/javascript">
<!--
custom_seed=1;
//-->
</script>
</head>
Später in das html-Dokument, habe ich die Anfrage über ein iframe, das gibt den html-notwendig zum aufrufen der ad-server.
<body>
<!-- a bunch of html to display the page -->
<iframe src="somepage.html" width="100%" height="100%">
<p>No support for iframe</p>
</iframe>
</body>
Den html zurückgegeben, in den 'somepage.html' hat ein Skript zum Aufruf der ad-server und muss auf die früheren erklärt seed-variable als parameter:
<script type="text/javascript">
document.write('<script type="text/javascript" src="http://ad.server.net/...seed='+ custom_seed +'?"></script>');
custom_seed++;
</script>
Was ist ein guter Weg, dies zu erreichen?
InformationsquelleAutor Cedar Jensen | 2010-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den nur Weise können Sie geben Werte direkt ein iframe, der eine Seite mit einer anderen domain ist über den url als querystring Werte, Anker, oder vielleicht, irgendeine form von rewriting. Auch wenn es auf der gleichen domain, das ist wohl der einfachste und sicherste Weg, um es zu übergeben.
Hauptdokument:
Innere Dokument:
Ich habe einige Beispiel-code, obwohl ich es nicht ausgetestet. Sie würde auch hinzufügen müssen, um eine ID für das IFrame so können Sie packen es in das javascript.
Danke für die Anregung. An welchem Punkt während das Dokument laden/Rendern, würde Sie dynamisch zu aktualisieren, die iframe-url auf und übergeben Sie den custom_seed Wert? Wie die Seite geladen wird und sobald es erreicht die <iframe> Kapitel, die url aufgerufen werden, so würde Sie Zeit haben, hören Sie auf das Dokument.ready-Ereignis (via jQuery)?
Zuweisung eines Wertes an die
src
- Attributs verursacht, dass das iframe zu aktualisieren. Ich würde den ursprünglichen Wert um eine dummy-URL, damit Sie nicht mehr als zwei Treffer gegen die Seite. Sonst kannst du ziemlich viel einstellen es in javascript überall nach den iFrames geladen worden.Sie behaupten, Sie können keine Nachrichten senden, die direkt auf die IFrame. Das ist nicht wahr. Sie können Informationen über Fenster.postMessage. Siehe developer.mozilla.org/en-US/docs/DOM/window.postMessage
InformationsquelleAutor tloflin
Einen einfachen Weg, um den Wert in der iframe-Datei :
Und verwenden Sie die
echo php $_GET['seed']
;innerhalb der Koma-element;
InformationsquelleAutor Squilo
Hier ist ein netter workaround. Während Sie können nicht senden-Variablen in einen iframe, können Sie eine Funktion aufrufen zu laufen.
Beginnen mit der Programmierung einer Funktion in der Ziel-Seite zu erhalten, und setzen Sie die variable:
Dann alles, was Sie tun müssen ist, rufen Sie die Funktion aus der origin-Seite:
InformationsquelleAutor DJ Martin