今天做了個網頁,要在網頁http://www.58shuwu.com/to/21766654/Legend%20of%20Miyue/
里設置一個iframe,然后套用其他的網站。使用http://movie.douban.com/subject/21766654 這個網址的時候,出現了莫名其妙的問題,我的網頁居然會強制自動跳轉到這個網頁上。搜索了一番,才知道原來這個網頁用了如下的一段代碼:
if (top.location != self.location) {top.location=self.location;}
使用里這段代碼之后,會自動判斷當前的location是否是頂層的,即是否被嵌套到iframe里面了,如果是,則強制跳轉。
一時間搜索無果,網上的很多做法都不怎么行了,介紹了很多基於iframe的攻防技術。
雙重iframe的確可以阻止強制跳轉。但是,第一層的iframe就覆蓋了第二層的。所以要把第一層的做成透明的,然后第二層嵌套博客大巴這個網頁。對我來說比較復雜。
后來我的做法如下:
<iframe src="http://movie.douban.com/subject/21766654" class="t-iframe" scrolling="no" security="restricted" sandbox="">
即增加兩個:security="restricted" sandbox="",前者是IE的禁止js的功能,后者是HTML5的功能。剛好就可以讓IE,Chrome,Firefox這三大瀏覽器都實現了禁止iframe的自動跳轉
大家可以去網站測試下:http://www.58shuwu.com/to/21766654/Legend%20of%20Miyue/