尝试在AngularJS视图中加载Iframe时遇到了一些困难,我遇到以下错误:
Load denied by X-Frame-Options: http://www.example.com does not permit cross-origin framing.
当面对这种类型的错误时,会发生一些链接,我想隐藏Iframe,所以我需要抓住这个错误。您可以在下面找到我正在使用的HTML和JS代码。
HTML:
<iframe id="contentIframe" ng-src="{{trustSrc()}}" frameborder="0" fullscreen></iframe>
控制器:
$scope.trustSrc = function () {
return $sce.trustAsResourceUrl(ContentService.getCurrentContent().url);
};
我在StackOverflow上经历了几个问题,但我无法找到答案。 有没有办法在AngularJS中捕获以下错误?
感谢您的帮助!
答案 0 :(得分:0)
简短回答:不。
如果iframe正在加载另一个网站,则DOM API不允许将事件绑定到contentWindow
对象或contentDocument
对象。实际上,如果网址是跨域的,并且您的域未明确地被该域列入白名单,则几乎不会对iframe的状态进行检查。
因此无法通过AngularJs来实现。