iframe诡异的内容消失问题

  问题描述

  不得不承认,这是一个非常诡异的问题,以下步骤可以重现问题:

  1. 用IE打开这个测试页面,确认页面上有个iframe,里面显示着abc三个字符。
  2. 把这页面加进收藏夹。
  3. 重新打开IE。
  4. 从收藏夹再打开这页面 。

  如果没出问题的话,你会发现页面上虽然还有iframe,但是abc消失了。更准确、详细地说,前后2次的页面主要有以下区别:

  • 从视觉上来说,页面中的abc字符消失了。
  • 从DOM结构上看,iframe中的body元素内没有任何内容。
  • 从iframe的右键-属性上看,第一次页面上iframe的地址是父页面的URL,第二次则变成了about:blank。

  以下是这个页面的源码,是从遇上问题的页面中不断分离、简化,最后形成的一个最简的重现方案:

!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知识库iframe诡异的内容消失问题,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。