iframe裏面內容自動跳轉問題解決辦法

今天做了個網頁,要在網頁裏設置一個iframe,然後套用其他的網站。使用http://luanqi-cat.blogbus.com 這個網址的時候,出現了莫名其妙的問題,我的網頁居然會強制自動跳轉到這個網頁上。搜索了一番,才知道原來這個網頁用瞭如下的一段代碼:

if (top.location != self.location) {top.location=self.location;}

使用裏這段代碼之後,會自動判斷當前的location是否是頂層的,即是否被嵌套到iframe裏面了,如果是,則強制跳轉。

一時間搜索無果,網上的很多做法都不怎麼行了。然後找到了這兩篇文章:

http://www.codinghorror.com/blog/2009/06/we-done-been-framed.html 以及:http://seclab.stanford.edu/websec/framebusting/framebust.pdf 特別是第二篇文章,介紹了很多基於iframe的***技術。

雙重iframe的確可以阻止強制跳轉。但是,第一層的iframe就覆蓋了第二層的。所以要把第一層的做成透明的,然後第二層嵌套博客大巴這個網頁。對我來說比較複雜。

後來我的做法如下:

<iframe src="http://www.shahuwang.com/"http://luanqi-cat.blogbus.com/" class="t-iframe" scrolling="no" security="restricted" sandbox="">

即增加兩個:security="restricted" sandbox="",前者是IE的禁止js的功能,後者是HTML5的功能。剛好就可以讓IE,Chrome,Firefox這三大瀏覽器都實現了禁止iframe的自動跳轉

本文出自:http://www.shahuwang.com, 原文地址:http://www.shahuwang.com/?p=1642, 感謝原作者分享。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章