【发布时间】:2015-03-09 18:26:48
【问题描述】:
我试图在 jquery 中包含另一个 js 文件。我找到了这个示例代码并尝试过,但是浏览器控制台给了我这个错误。
代码
$.getScript( "js/balloon.js", function( data, textStatus, jqxhr ) {
console.log( data ); // Data returned
console.log( textStatus ); // Success
console.log( jqxhr.status ); // 200
console.log( "Load was performed." );
});
错误
XMLHttpRequest 无法加载 file:///C:/EDIT/swf/js/balloon.js?_=1420941386739。跨源请求仅支持协议方案:http、data、chrome-extension、https、chrome-extension-resource。
我犯了什么错误,谁能告诉我?谢谢。
如果有另一个在 js 中包含 js 文件的好例子,请为我推荐。再次感谢。
更新
我也尝试了下面的代码,但它包含在html中包含的js之前,有什么建议可以将它包含在一起吗?
var script = document.createElement('script');
script.src = "js/balloon.js";
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
【问题讨论】:
-
如果您的目录中已经有脚本,为什么还要加载它?你不能只使用
script标签吗? -
尝试通过网络服务器(即
http://127.0.0.1/project/index.html)运行您的网页,而不是直接从网络浏览器运行。 -
@AstroCB 因为我有 20 多个 js……当我的功能需要时,我只需要一种 js
-
根据你的情况和 js 文件的大小,将你的 js 文件合并成一个大的 js 文件然后缓存它通常更有效。但是是的,很确定你需要从服务器运行它才能工作。
-
在某个服务器上托管您的代码。目前发生的情况是。您正在直接从没有托管的文件夹中运行 .html 文件。这就是为什么当您尝试访问 js 文件协议时显示为文件:/ /而不是http。您可以在 Internet Explorer 上运行相同的页面,这将正常运行。
标签: javascript jquery