如何转换' http://// someurl /'进入http:// someurl /'在Internet Explorer only-js中

时间:2015-10-16 20:23:49

标签: jquery internet-explorer

我尝试使用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无法识别这些文件并引发错误。 任何想法如何解决这个问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

从你的代码:

 baseUrl: "http://" + context, // where context = "//someurl/index/"

这不是IE问题,而是您的网址无效,其中包含四个斜杠。好吧,也许Chrome和Firefox能够应对它并弄清楚你的意思......这并不意味着它是正确的,并不意味着你应该做一些特别的IE来解决它。

答案显而易见。你只需要减少斜线。

您说context//开头,为什么不从//部分删除http://。问题解决了;有效的网址。应该适用于所有浏览器。

我想context可能并不总是以//开头,在这种情况下,您可能会在//上添加http:以防万一。如果这就是这里发生的事情,那么解决方案是检查构建字符串的时间,以便您决定是否添加//