首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将javascript值传递给iframe标记

将javascript值传递给iframe标记
EN

Stack Overflow用户
提问于 2010-04-13 05:32:39
回答 3查看 28.1K关注 0票数 7

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

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

种子变量在我的主html文档的'head‘标签中初始化:

代码语言:javascript
复制
<head>
    <script type="text/javascript">
    <!--
    custom_seed=1;  
    //-->
    </script>
</head>

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

代码语言:javascript
复制
<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有一个用于调用广告服务器的脚本,并且需要使用先前声明的种子变量作为参数:

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-13 05:36:39

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

主文档:

代码语言:javascript
复制
document.getElementById('IframeID').src = "somepage.html?seed=" + custom_seed;

内部文档:

代码语言:javascript
复制
var seed = window.location.search.substring(window.location.search.indexOf('seed=') + 5);
if (seed.indexOf('&') >= 0) {
    seed = seed.substring(0, seed.indexOf('&'));
}
票数 12
EN

Stack Overflow用户

发布于 2012-12-11 20:01:17

获取iframe文件中的值的简单方法:

代码语言:javascript
复制
  document.getElementById("youfiled").value="";

并使用echo php $_GET['seed']

在coma元素的内部;

票数 0
EN

Stack Overflow用户

发布于 2019-02-06 10:22:05

这里有一个巧妙的解决办法,没有丑陋的url变量。虽然您不能将变量发送到iframe,但您可以调用函数来运行。

首先,在目标页面中编写一个函数来接收和设置变量:

代码语言:javascript
复制
<script type="application/javascript">
    function variable(value) {
        var seed = value;
</script>

然后,您需要做的就是从原始页面调用函数:

代码语言:javascript
复制
<script type="application/javascript">
    document.getElementById("IframeID").contentWindow.variable("value");
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2625615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档