|
問(wèn)題描述
不得不承認(rèn),這是一個(gè)非常詭異的問(wèn)題,以下步驟可以重現(xiàn)問(wèn)題:
- 用IE打開(kāi)這個(gè)測(cè)試頁(yè)面,確認(rèn)頁(yè)面上有個(gè)iframe,里面顯示著abc三個(gè)字符。
- 把這頁(yè)面加進(jìn)收藏夾。
- 重新打開(kāi)IE。
- 從收藏夾再打開(kāi)這頁(yè)面 。
如果沒(méi)出問(wèn)題的話,你會(huì)發(fā)現(xiàn)頁(yè)面上雖然還有iframe,但是abc消失了。更準(zhǔn)確、詳細(xì)地說(shuō),前后2次的頁(yè)面主要有以下區(qū)別:
- 從視覺(jué)上來(lái)說(shuō),頁(yè)面中的abc字符消失了。
- 從DOM結(jié)構(gòu)上看,iframe中的body元素內(nèi)沒(méi)有任何內(nèi)容。
- 從iframe的右鍵-屬性上看,第一次頁(yè)面上iframe的地址是父頁(yè)面的URL,第二次則變成了about:blank。
以下是這個(gè)頁(yè)面的源碼,是從遇上問(wèn)題的頁(yè)面中不斷分離、簡(jiǎn)化,最后形成的一個(gè)最簡(jiǎn)的重現(xiàn)方案:
!DOCTYPE html
html
head
meta charset="utf-8" /
titletest/title
/head
body
script type="text/Javascript"
var text = 'abc',
script = 'var d = document; ' +
'd.open(/'text/html/', /'replace/'); d.write(parent.text); d.close();',
html = 'iframe id="abc" name="abc" ' +
'src="Javascript:void((function() {' + script + '})())"/iframe';
document.write(html);
/script
/body
/html
it知識(shí)庫(kù):iframe詭異的內(nèi)容消失問(wèn)題,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。