我尝试使用require.js为我的应用程序加载某些文件。在Chrome和FF中一切正常,但当我在IE中检查网络选项卡时,它显示状态为" Aborted"对于某些文件,原因是路径不正确。
Ex:
http:////someurl/index/main.js
http:////someurl/index/index2.js
http:////someurl/index/test.js
IE无法在' http'之后转换4斜杠。自动进入2,就像chrome和FF一样,结果导致" aborted"或找不到文件。 这是我的main.js基本网址:
require.config({
baseUrl: "http://" + context, // where context = "//someurl/index/"
path: {
path1: /someurl/index/path1,
path2: /someurl/index/path2,
path3: /someurl/index/path3,
}
});
如何在IE中将http:////someurl/index/main.js
转换为http://someurl/index/main.js
,以便呈现正确的路径。我也试过把这个网址粘贴在浏览器中并且工作正常。仅在页面加载时,IE无法识别这些文件并引发错误。
任何想法如何解决这个问题?
谢谢!
答案 0 :(得分:0)
从你的代码:
baseUrl: "http://" + context, // where context = "//someurl/index/"
这不是IE问题,而是您的网址无效,其中包含四个斜杠。好吧,也许Chrome和Firefox能够应对它并弄清楚你的意思......这并不意味着它是正确的,并不意味着你应该做一些特别的IE来解决它。
答案显而易见。你只需要减少斜线。
您说context
以//
开头,为什么不从//
部分删除http://
。问题解决了;有效的网址。应该适用于所有浏览器。
我想context
可能并不总是以//
开头,在这种情况下,您可能会在//
上添加http:
以防万一。如果这就是这里发生的事情,那么解决方案是检查构建字符串的时间,以便您决定是否添加//
。