编程语言
首页 > 编程语言> > Javascript-找出由于相同的原始策略而导致对父窗口的访问受到限制的最佳方法是什么?

Javascript-找出由于相同的原始策略而导致对父窗口的访问受到限制的最佳方法是什么?

作者:互联网

我当前的解决方案:

function isAccessToWindowRestricted(w) {
  try {
    return !w.location.href;
  } catch (e) {
    return true;
  }
}

还有更好的主意吗?有没有尝试捕获的“合法”方式?

解决方法:

没有好的方法,因为没有方法可以测试父框架中的值是否存在而不会抛出异常.

我只是尝试了几件事,包括:

var parentURL = window.parent && window.parent.location && window.parent.location.href;

而且无论如何,由于相同的原始政策,都会引发Exception.但是,您可以检查一下是否在iframe中

function checkInFrame( arg ){ arg = arg || window; return arg.parent == window; }

但是据我所知,您必须使用try {…} catch(…){…}块(这就是它的用途).

标签:same-origin-policy,cross-domain,iframe,xss,javascript
来源: https://codeday.me/bug/20191210/2101248.html