我正在与同一起源政策进行永恒的战斗。
我有一个动态加载到iframe中的页面的注册过程。此过程位于不同的域上,我知道这是通过相同的原始策略禁止的。
然而!在进程结束时,我使用url变量将帧引导回父域上的页面,然后触发一个函数来刷新页面。
我认为,由于页面现在位于同一个域中,这不会成为问题,而且在firefox和chrome上它运行良好,但是它仍然会抛出一个权限被拒绝的错误。
我在iframe中运行的函数
if(gup("command") == "refresh"){
parent.samRefresh();
}
在父框架中我有
function samRefresh(){
location.reload(true);
}
有人有任何想法吗?我知道有一些脚本可以解决这个问题,但如果可能的话,我宁愿不使用它们。
提前感谢您提供的任何帮助
答案 0 :(得分:0)
尝试以下方法:
在iFrame中:
window.parent.success_msg(deferred);
在父页面上:
window.success_msg = function(dfd) {
console.log("I'm from the parent window");
};
还要确保您运行的是localhost,而不是从文件系统中查看文件。