Fal*_*nio 9 javascript iframe jquery
我对JavaScript很新,我试图从嵌入式iframe中获取变量的值.我已经采取了基本的测试,以确保我正确的方法...
我尝试了常见的建议,一切都返回'undefined'.我想在onclick事件中使用该变量.
在iframe内容中,我删除了所有内容,只是为了进行测试而已:
<script>
var test = "test";
</script>
Run Code Online (Sandbox Code Playgroud)
在父窗口中我做了这个:
<iframe src="iframe.html" id="iframe" width="200" height="100"></iframe>
<script>
var myVar = window.frames[0].window.test;
</script>
<a href="#" onclick='alert(myVar)' id="link">Click</a>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了这里建议的选项:从嵌入式iframe中获取全局变量
我所做的一切都是未定义的......我在做一些根本错误的事情吗?
提前致谢..
Ber*_*rgi 12
您<iframe>仍在加载时正在执行脚本,所以它test就是undefined.要么等待iframe的load事件,要么在点击时获取变量:
<iframe src="iframe.html" id="iframe" width="200" height="100"></iframe>
<script>
var myFrame = window.frames[0].window;
</script>
<a href="#" onclick='alert(myFrame.test)' id="link">Click</a>
Run Code Online (Sandbox Code Playgroud)
您显然没有等待访问之前加载帧的内容myVar.<script>当你这样做时,机会中的元素尚未被提取或执行.
尝试延迟变量赋值,直到帧的内容完全加载为止:
<iframe src="iframe.html" id="iframe" onload="frameLoaded();" width="200" height="100"></iframe>
<script>
var myVar;
function frameLoaded() {
myVar = window.frames[0].window.test;
}
</script>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,既然你的问题被标记为jquery,我建议你写一些类似的东西:
<iframe src="iframe.html" id="iframe" width="200" height="100"></iframe>
<script>
$("#iframe").on("load", function() {
var myVar = this.window.test;
$("#link").on("click", function() {
alert(myVar);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21555 次 |
| 最近记录: |