使用requireJS加载jquery.jstree.js并不适用于IE。
当我尝试使用requireJS加载JSTree插件(jquery.jstree.js)时,它在IE8中失败并出现JS错误。
Message: Could not get the type property. Invalid argument.
Line: 109
Char: 463
Code: 0
URI: file:///...../js/requireplugins-jquery-1.4.3.js
我已经在其他浏览器(FF和Chrome)中测试了它,它在那里工作正常。此外,它在IE中适用于其他jQuery插件,只有jsTree插件才会出现问题
下面的一些代码段
I have a test.html where I load requrejs specifying the data-main attribute.
<script type="text/javascript" data-main="main" src="js/requireplugins-jquery-1.4.3.js"></script>
A main.js where I define all the modules to be loaded and a callback - I have shown
only the jstree module here as that's the only one causing a problem.
main.js:
require(["jquery.jstree"], callBackFunctionToInitialzeTree);
答案 0 :(得分:0)
我发现调试require.js有点棘手 - 特别是当我没有按正确的顺序包含脚本时。我做了以下这不是一个直接的答案,但可以帮助你追踪它...
1)在调用execCb之前,在require-jquery.js中放入一个console.log行,以追踪它正在加载的模块的fullName。在我正在使用的版本中(来自主要的require.js网站的require-jquery,它是500行)。我没有看到你正在使用的版本(requireplugins-jquery.1.4.3),所以我不确定你需要的行号。
2)您可能会发现需要使用“订单”!插件如果你有多个文件依赖项需要先加载其他的(我注意到jstree依赖于jquery.cookie和jquery.hotkey)。 http://requirejs.org/docs/api.html#order
如果你可以添加更多细节,我会尝试提供更多帮助。
GL
答案 1 :(得分:0)
我对jstree.js和require.js有相同的问题。我更改了包含顺序(先是jstree,然后是requirejs),我的问题已解决。