我有一个书签,它将 div 加载到当前页面并在其中放置一个 iframe。除了 IE9 之外,小书签在所有浏览器中都可以正常工作。甚至可以在早期版本的 IE 中使用。
我正在使用以下书签框架:
http://idc.anavallasuiza.com/project/bookmarklets
其他人也遇到了类似的问题(与书签无关):
https://forum.jquery.com/topic/retrieved-html-data-type-with-jquery-ajax-in-ie9-scripts-tags-sources-could-not-be-loaded
到目前为止,我了解到我的小书签的 jQuery 在 IE9 中无法正确加载。
小书签尝试加载自己的 jQuery,以便在小书签初始化时可以运行某些效果,并简化编程。
iFrame 页面还加载 jQuery(没有它,iframe 中的内容将无法正常工作)。
我正在使用最新的 jQuery:
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
我想知道为什么 IE9 会导致这些 SCRIPT 错误,而其他浏览器却不会?为什么 jQuery 在 IE9 中无法正确加载?
任何见解将不胜感激。
我刚刚花了几个小时来解决这个问题,终于找到了一个我认为会对您有所帮助的解决方案。
这是给我带来问题的代码的简化版本:
$frames = $(*html_including_frames_here*);
$div = $('<div></div>');
$div.append($frames);
$('body').append($div);
** 将一个或多个帧加载到不在 DOM 中的 div 中,然后将该 div 加载到 DOM 中会导致我的情况下出现所有问题。框架没有按应有的方式加载 JS 脚本,然后所有内容(jQuery、JSON 等)都是未定义的。
另一方面,这有效:
$frames = $(*html_including_frames_here*);
$div = $('<div></div>');
$('body').append($div);
$div.append($frames);
这里唯一的区别是我首先将 div 放入 dom 中,然后将框架加载到其中。不知怎的,这让一切变得不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)