2014-03-28 48 views
2

我有各種鏈接打開bootstrapmodals。一些模式以簡單的html內容打開,其他模式包含iframe。我使用ng-switch來確定加載到模態的內容類型。此問題只發生在Google Chrome和Safari(即webkit瀏覽器)中。谷歌瀏覽器/ Safari中的onload錯誤

我在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中防止這種行爲?

這裏有一個plunkr

回答

4

顯然,在WebKit瀏覽器,在一個IFRAME onload事件觸發兩次。一旦創建iframe,然後設置src時。

根據這樣的回答:https://stackoverflow.com/a/15880489/3170216

如果你您的iframe元素追加到身體後附加onload事件您可以阻止這種行爲。但我不確定如何在你的情況下做到這一點。

相關問題