需求:現在在做一個項目,要求一個頁面內嵌Bing和Baidu倆個iframe,載入頁面后,從url中拿數據進行搜索。
問題:完全載入頁面后,會跳轉到百度頁面。
問題來源:百度代碼中有 if (top.location != self.location) {top.location=self.location;} 使用里這段代碼之后,會自動判斷當前的location是否是頂層的,即是否被嵌套到iframe里面了,如果是,則強制跳轉。
解決辦法:
<iframe src="" class="iframe" scrolling="no" security="restricted" sandbox="">
即增加兩個:security="restricted" sandbox=""(內嵌百度時要允許彈框,即sandbox="allow-popups"),前者是IE的禁止js的功能,后者是HTML5的功能。剛好就可以讓IE,Chrome,Firefox這三大瀏覽器都實現了禁止iframe的自動跳轉.