使用jQuery和一组域,我想创建一个帧断路器。我想评估顶部框架域,如果它是阵列中的一个域,那么就打破它。
var domains = ["zoot.li", "domain.com"];
if ( jQuery.inArray( top.location.host, domains ) > -1 ) {
top.location.href = document.location.href ;
}
但是,它似乎没有起作用。有什么想法吗?
答案 0 :(得分:0)
跨域安全性不允许您读取不同来源的帧(包括父帧)的URL。
我能想到的唯一方法是:
setTimeout
来启动top.location
该帧突发top
发送postMessage
。按顺序执行 依次为您允许的每个域设置targetOrigin
。top
域中,有一个事件监听器等待邮件,其中的安全代码通过立即使用postMessage
将其发回来响应它。 (注意:由于targetOrigin
,只有可接受的域才能看到代码。clearTimeout
。