昨天遇到了一个问题, 先上代码.
- var content = '<iframe src="www.baidu.com"width="100%"height="100%"frameborder="0"scrolling="no"></iframe>';
- var addDialog = $("<div id='#djDialog'><div/>").dialog({
- content: content,width: 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"width="100%"height="100%"frameborder="0"scrolling="no"></iframe>';
- var addDialog = $("<div id='#djDialog'><div/>").dialog({
- content: content,width: 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 链接被加载两次的问题.
问题的产生原因不详, 有兴趣的可以自己研究一下.
来源: http://www.bubuko.com/infodetail-3110679.html