我可以从iframe的JS中更改父页面的JS的值吗?
-
13-09-2019 - |
题
我有一个带有3个IFRAME的页面,此页面加载一个具有的JS文件
var stayFifty = new Boolean(false);
以及根据此布尔来改变其所做的功能。
在此页面上的iframe中,我有一个定义为
toggleFifty = function() {
parent.stayFifty = new Boolean(!(stayFifty.valueOf()));
};
添加到IMG标签中
onclick="toggleFifty();"
但是,当我单击IMG标签时,toggleFifty函数似乎不会发射。我相信这与togglefifty函数试图更改停留变量的方式有关。有人可以解释如何解决此问题以及有关范围问题的一些问题吗?
我尝试使用来自 这个链接 但是看来我不了解某事。
解决方案
你错过了 parent
当您更改价值时 stayFifty
多变的:
toggleFifty = function() {
parent.stayFifty = !parent.stayFifty;
};
顺便说一句,请注意,使用布尔变量时,您不需要使用布尔构造函数,当您声明时,您可以简单地使用 布尔文字:
// on your parent page
var stayFifty = false;
不隶属于 StackOverflow