我得到了不同的JavaScript文件和网站的框架。在generalJavascript.js我写这变量和框架的JavaScript范围
console.log("BP0 - generalJavaScript.js eingebungen;");
top.window.clickedNewForm = false;
function setClickedNewForm(booleanobj){
console.log("BP5 - setClickedNewForm(); top.window.clickedNewForm: " + top.window.clickedNewForm + ";");
top.window.clickedNewForm = booleanobj;
console.log("BP6 - top.window.clickedNewForm: " + top.window.clickedNewForm + ";");
}
function getClickedNewForm(){
console.log("BP7 - getClickedNewForm();");
return top.window.clickedNewForm;
}
在Firefox的控制台,我可以看到的消息是这样的:
Permission denied to access property 'clickedNewForm'
generalJavaScript.js()genera...ript.js (Zeile 11)
[Bei diesem Fehler anhalten]
top.window.clickedNewForm = false;
有什么不对?我想如果我宣布顶级对象上的全局变量,它将可以从所有框架访问?!
UPDATE:试图用parent.myvar代替top.window,遗憾的是没有什么变化,FF-控制台:
BP0 - generalJavaScript.js eingebungen;
genera...ript.js (Zeile 10)
Permission denied to access property 'clickedNewForm'
generalJavaScript.js()genera...ript.js (Zeile 12)
[Bei diesem Fehler anhalten]
parent.clickedNewForm = false;
您的所有帧是否都来自同一个域(完全相同的域,包括协议)?如果浏览器的同源策略不能阻止访问这些变量。 – njr101
是的,似乎SOP是问题。 – Jochen