Jquery 脚本5009:“引用$&引用;在IE9中没有定义

Jquery 脚本5009:“引用$&引用;在IE9中没有定义,jquery,internet-explorer-9,bookmarklet,Jquery,Internet Explorer 9,Bookmarklet,我有一个bookmarklet,它将一个div加载到当前页面中,并在其中放置一个iframe。bookmarklet在除IE9之外的所有浏览器中都像做梦一样工作。甚至可以在早期版本的IE中使用 我正在使用以下bookmarklet框架: http://idc.anavallasuiza.com/project/bookmarklets 其他人也有类似的问题(与bookmarklet无关): 到目前为止,我知道我的bookmarklet的jQuery在IE9中没有正确加载 bookmarklet

我有一个bookmarklet,它将一个div加载到当前页面中,并在其中放置一个iframe。bookmarklet在除IE9之外的所有浏览器中都像做梦一样工作。甚至可以在早期版本的IE中使用

我正在使用以下bookmarklet框架:

http://idc.anavallasuiza.com/project/bookmarklets
其他人也有类似的问题(与bookmarklet无关):

到目前为止,我知道我的bookmarklet的jQuery在IE9中没有正确加载

bookmarklet尝试加载自己的jQuery,以便在bookmarklet初始化时可以运行某些效果,并简化编程

iFrame页面还加载jQuery(如果没有jQuery,iFrame中的内容将无法正常工作)

我正在使用最新的jQuery:

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
我想知道为什么IE9会在没有其他浏览器的情况下导致这些脚本错误?为什么jQuery没有在IE9中正确加载


如果您有任何见解,我们将不胜感激。

谢谢您的提问,我也有同样的问题。这是我第一次通过从jquery.com()加载jquery来修复它。然后IE9加载它。也许微软正在屏蔽一些谷歌API?非常有趣…

我刚刚花了几个小时来解决这个问题,最终找到了一个我认为会对您有所帮助的解决方案

下面是给我带来问题的代码的简化版本:

$frames = $(*html_including_frames_here*);
$div = $('<div></div>');
$div.append($frames);
$('body').append($div);
$frames=$(*html\u包括这里的框架*);
$div=$('');
$div.append($frames);
$('body')。追加($div);
**将一个或多个帧加载到一个不在DOM中的div中,然后将该div加载到DOM中会导致我的案例中的所有问题。框架没有像应该的那样加载JS脚本,然后所有内容(jQuery、JSON等)都没有定义

另一方面,这是可行的:

$frames = $(*html_including_frames_here*);
$div = $('<div></div>');
$('body').append($div);
$div.append($frames);
$frames=$(*html\u包括这里的框架*);
$div=$('');
$('body')。追加($div);
$div.append($frames);

这里唯一的区别是,我首先将div放在dom中,然后将帧加载到其中。不知何故,这一切都不同了

如果您希望始终使用最新的jquery版本,请尝试Man。。。非常感谢你!我朝多个方向射击,只有我没想到的一个方向。我有不同的DOM,但仍然是iframe打印到页面的方式和顺序,生成了这个bug。所以到目前为止,iframe是使用JQ构建的,现在它是硬编码的,我使用JQ处理它的src代码。这解决了我的问题。谢谢你给我指路:)很乐意帮忙!我在这件事上很努力,很高兴能为你节省一些时间。请接受答案,以便其他人能够认识到它是合法的。:)编辑:我还以为你是最早的海报呢。哎呀
$frames = $(*html_including_frames_here*);
$div = $('<div></div>');
$('body').append($div);
$div.append($frames);