Mar*_*sen 9 javascript iframe same-origin-policy
我知道我无法访问iframe中的数据,该iframe显示来自其他域的页面.这非常好,但我想检测一下,iframe当前是显示来自我的域的页面还是外部的.
我的第一次尝试是尝试访问
$('iframe')[0].contentWindow.document
Run Code Online (Sandbox Code Playgroud)
包装try {} catch {},并且如果抛出错误,则意味着我无法访问它,因此iframe页面必须是外部的.这听起来像一个完美的解决方案,但事情是safari发布了一个"不安全的JavaScript尝试访问带URL的帧"消息到javascript控制台.这不仅是丑陋的,还可能导致其他或未来的浏览器向用户显示明确的安全警告?
如果这是您的 HTML:
<iframe src="http://www.google.com" width="100%" height="300" id='iframe'>
<p>Your browser does not support iframes.</p>
</iframe>
Run Code Online (Sandbox Code Playgroud)
是不是就这么简单:
var iframeEl = document.getElementById('iframe')
var src = iframeEl.src;
Run Code Online (Sandbox Code Playgroud)
然后用它来与您的域进行比较?
| 归档时间: |
|
| 查看次数: |
3906 次 |
| 最近记录: |