如何检查iframe是否被自己加载
How to check if iframe is loaded by itself?
我有一个iframe来加载用户请求的内容。但是,我需要确保iframe不加载自己,而是重定向到默认站点。
这个过程必须是动态的,并且可以在任何页面上工作,因为我有多个页面这样做,并且每个站点的自定义代码将不实用。
只要您与父级在同一域中,您就可以使用parent
。添加到具有iframes的文档中:
$(function() {
// Check if you are in an iframe, otherwise parent == self,
// and the next check will always return true.
function inIframe () {
try {
return window.self !== window.top;
} catch (e) {
return true;
}
}
// Check if parent.url == self.url.
function sameAsParent() {
try {
return parent.window.document.location.toString() === window.document.location.toString());
} catch (e) {
return false;
}
}
if (inIframe() && sameAsParent()) {
// You are being loaded by yourself! Redirect!
window.location.href = 'http://some-redirect-url.com'
}
});
相关文章:
- 消隐数组元素是否生成自己的属性
- 当作为 CommonJS 模块加载时,Angular 是否全局将自己分配给“window.angular”
- WebRTC是否为您处理数据包丢失和数据包接收确认等,或者您是否需要为此编写自己的解决方案
- 是否可以捕获并记录我自己的Websocket(wss)流量
- node.js域是否自动清理自己,或者我是否必须调用domain.dispose()
- JavaScript:函数是否应该能够使用Object.create()创建自己的实例
- require.js模块是否可以依赖于它自己
- 是否可以创建一个Vorpal应用程序,命令's的输出直接到达终端,而不是'它自己的外壳
- ES6箭头函数是否有自己的参数?
- Javascript -是否有可能在函数定义后调用它自己,然后在作用域的其他地方作为函数被引用?
- jQuery -当你委托一个事件处理程序时,它是否也会自动从不再匹配的元素中移除自己?
- 在构建自己的JavaScript库或jQuery插件时,我是否必须避免侵入性?
- 如何检查iframe是否被自己加载
- 是否有可能将上下文菜单中的项目中继到自己编写的功能
- 是否有可能创建自己的node js模块并将其发布在私有服务器上
- 编写自己的解析器是否值得为此花费额外的运行时间?
- JavaScript setTimeout函数是否在完成时清除自己?
- 是否有一种方法可以发现javascript 6类是否定义了自己的构造函数?
- Youtube是否使用<iframe>或者<视频>在他们自己的域上的视频
- Javascript函数是否需要存储在自己的文件中以供调用