0

使用 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);
4

2 回答 2

0

我发现调试 require.js 有点棘手——尤其是当我没有以正确的顺序包含脚本时。我已经完成了以下不是直接答案的操作,但可以帮助您追踪它...

1) 在调用 execCb 之前在 require-jquery.js 中添加一个 console.log 行,以追踪它正在加载的模块的全名。在我使用的版本中(来自主 require.js 网站的 require-jquery,它是第 500 行)。我没有看到您正在使用的版本(requireplugins-jquery.1.4.3),所以我不确定您需要的行号。

2)你可能会发现你需要使用“订单”!如果您有多个文件依赖项需要首先加载其他文件(我注意到 jstree 依赖于 jquery.cookie 和 jquery.hotkey)。 http://requirejs.org/docs/api.html#order

如果您可以添加更多详细信息,我会尽力提供更多帮助。

总帐。

于 2011-08-02T23:51:13.213 回答
0

我对 jstree.js 和 require.js 有同样的问题。我更改了包含顺序(首先是 jstree,然后是 requirejs),我的问题已经解决。

于 2019-11-25T12:24:04.693 回答