本文为作者sunziren原创,首发博客园,转载请注明出处。
昨天遇到了一个问题,先上代码。
var content = '<iframe src="www.baidu.com"></iframe>';
var addDialog = $("<div id='#djDialog'><div/>").dialog({ content: content, 1300,height:630,modal: true,draggable: true,onClose: function () { $(this).dialog('destroy'); } }).dialog('open');
可以看到,iframe中的url直接在创建的时候就定义好了,这样写导致了在ie浏览器中,www.baidu.com这个链接被访问了两次,其他浏览器是正常的。这可能是ie浏览器的自身的问题导致的。
为了解决在ie中存在的这个问题,而又不影响其他浏览器的正常使用。现在改为以下写法,就正常了。
var content = '<iframe id="ckxqFrame"></iframe>'; var addDialog = $("<div id='#djDialog'><div/>").dialog({ content: content, 1300,height:630,modal: true,draggable: true,onClose: function () { $(this).dialog('destroy'); } }).dialog('open'); var url = "www.baidu.com"; document.getElementById("ckxqFrame").src=url;
这样就完美的解决了ie中iframe链接被加载两次的问题。
问题的产生原因不详,有兴趣的可以自己研究一下。