我有各种链接打开bootstrap
modals
。有些模态打开时只含有简单的html
,有些则含有iframe
。
我使用ng-switch
来确定要加载到模态中的内容类型。此问题仅发生在Google Chrome和Safari(即webkit浏览器)。
我在iframe中使用onload
来调用一个函数,一旦iframe实例化。
<div class="modal-body" ng-switch="modal.type">
<div ng-switch-when="iframe">
<iframe ng-src="http://plunker.co/group" onload="callMeMaybe();"></iframe>
</div>
<div ng-switch-when="html">
<h1>I'm just plain ol' html up in here.</h1>
</div>
</div>
问题: Chrome和Safari调用onload函数两次。而Firefox和IE只调用一次函数。
我能做些什么来防止这种行为在Chrome/Safari?
这是一个活塞
显然,在webkit浏览器上,iframe上的onload事件触发两次。第一次是在创建iframe时,第二次是在设置src时。
根据这个答案:https://stackoverflow.com/a/15880489/3170216
如果在iframe元素被附加到body的之后附加onload事件,可以防止这种行为。但我不知道在你这种情况下该怎么做。