Javascript:检查是否iframe url是相同的域名或外部的东西
javascript: check if iframe url is same domain or something external
我知道我无法访问显示来自另一个域的页面的iframe中的数据。这是非常好的,但我想检测,是否iframe当前显示一个页面从我的域或外部的东西。
我的第一个尝试是访问
$('iframe')[0].contentWindow.document
包装在try {} catch {}
中,如果抛出错误,则意味着我无法访问它,因此iframe页必须是外部的。这听起来像是一个完美的解决方案,但问题是safari会向JavaScript控制台发送一个"不安全的JavaScript试图使用URL访问框架"的消息。这不仅丑陋,而且可能导致其他或将来的浏览器向用户显示显式的安全警告。
你可以尝试使用postMessage吗?
如果没有响应,则为外部域
如果这是你的HTML:
<iframe src="http://www.google.com" width="100%" height="300" id='iframe'>
<p>Your browser does not support iframes.</p>
</iframe>
不就这么简单吗:
var iframeEl = document.getElementById('iframe')
var src = iframeEl.src;
,然后用它来比较你的域名?
为什么不检查从iframe的href属性是否与您的域相同?
parent.frames[1].location.href;
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- HTML表单提交时未执行外部函数
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 使用html中的外部javascript进行数据验证
- 将变量传递给外部Javascript
- 使用javascript在Flash中加载外部图像
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何从外部页面激活非默认引导选项卡
- 如何在运行时在angular 2中加载外部js脚本
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 单击元素外部时进行JQuery
- 我的外部js文件无法加载
- 拆下外部分配器
- 什么'在webpack外部设置中,reactDom和reactDom不同
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 如何在构建node-webkit应用程序后获取外部资源
- 关于引入外部javascript文件的问题&css通过https
- 如何在外部域名中查找我的链接
- Javascript:检查是否iframe url是相同的域名或外部的东西