передача значений javascript в тег iframe
каков наилучший способ передать значение, содержащееся в переменной javascript, в вызов iframe на той же странице html? Я пытаюсь улучшить время отклика страницы моего сайта, перемещая объявление, обслуживающее код javascript (типичный document.write('<script type="text/javascript" src=".."
) в отдельный iframe. (на основе этой проводки)
для запроса на сервер ad обычно требуется начальная переменная, объявленная один раз на сайте и увеличивающаяся каждый раз, когда страница загружается клиентом. Что я хочу сделать, так это пройти в переменная seed в документ, вызываемый моим разделом iframe.
переменная seed инициализируется в теге "head" моего основного html-документа:
<head>
<script type="text/javascript">
<!--
custom_seed=1;
//-->
</script>
</head>
позже в html-документе я делаю запрос через iframe, который возвращает html, необходимый для вызова сервера ad.
<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>
html возвращается в ' somepage.html " имеет скрипт, используемый для вызова сервера ad, и должен использовать ранее объявленную переменную seed в качестве параметр:
<script type="text/javascript">
document.write('<script type="text/javascript" src="http://ad.server.net/...seed='+ custom_seed +'?"></script>');
custom_seed++;
</script>
каков хороший способ достичь этого?
2 ответов
на только способ передачи значений непосредственно в iframe страницы с другим доменом - через url, как значения querystring, якоря или, возможно, некоторая форма перезаписи. Даже если он находится в том же домене, это, вероятно, самый простой и безопасный способ передать его.
Главная документ:
document.getElementById('IframeID').src = "somepage.html?seed=" + custom_seed;
внутренний документ:
var seed = window.location.search.substring(window.location.search.indexOf('seed=') + 5);
if (seed.indexOf('&') >= 0) {
seed = seed.substring(0, seed.indexOf('&'));
}
простой, чтобы получить значение в файле iframe:
document.getElementById("youfiled").value="";
и с помощью echo php $_GET['seed']
;
внутри элемента кома;