gpt4 book ai didi

javascript - 将 javascript 值传递到 iframe 标记中

转载 作者:太空狗 更新时间:2023-10-29 14:05:32 26 4
gpt4 key购买 nike

将保存在 javascript 变量中的值传递到同一 html 页面上的 iframe 调用的最佳方法是什么?我试图通过将广告服务 javascript 代码(典型的 document.write('<script type="text/javascript" src=".." )移动到单独的 iframe 来改善我网站的页面响应时间。 (Based on this posting)

对广告服务器的请求通常需要一个种子变量,每个站点声明一次,并在客户端每次加载页面时递增。我想要做的是将种子变量传递到我的 iframe 部分调用的文档中。

seed 变量在我的主 html 文档的“head”标签中初始化:

<head>
<script type="text/javascript">
<!--
custom_seed=1;
//-->
</script>
</head>

稍后在 html 文档中,我通过 iframe 发出请求,它返回调用广告服务器所需的 html。

<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>

'somepage.html'中返回的html有一个用于调用广告服务器的脚本,需要使用之前声明的seed变量作为参数:

<script type="text/javascript">
document.write('<script type="text/javascript" src="http://ad.server.net/...seed='+ custom_seed +'?"></script>');
custom_seed++;
</script>

实现此目标的好方法是什么?

最佳答案

将值直接传递到具有不同域的页面的 iframe 的唯一方法是通过 url,作为查询字符串值、 anchor ,或者可能是某种形式的重写。即使它在同一个域中,这也可能是传递它的最简单和最安全的方法。

主要文档:

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('&'));
}

关于javascript - 将 javascript 值传递到 iframe 标记中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com