我想通过在js中注入脚本元素和文件的src来并行下载javascript文件
:javascript
var script = document.createElement("script");
script.src = "/javascript/some_javascript_file.js";
script.type = "text/javascript"
$("head").append(script)
.... (使用haml,jquery ..)
在rails中通过firebug我得到一个404文件未找到,看起来像这样
获取http://localhost:3000/javascript/%5object%20HTMLScriptElement%5D 404未找到
..我看到其他js文件通过javascript_include_tag加载正常加载
获取http://localhost:3000/javascript/another_js_file.js?1221321321 ...
我知道rails会在js文件中添加版本号以进行版本控制。因为这个原因我不能动态加载js吗?我还注意到脚本名称也被混淆了(%5object%20HTMLScriptElement%5D)。这样做有轨道吗?我看过网上找不到任何东西。
我刚注意到404的url与我在src中指定的不同。在src我有“/rails/javascripts/javascript_file.js”,但在404错误中它被列为从http://localhost.admeld.com:3000/rails/some_namespace/%5Bobject%20HTMLScriptElement%5D获取文件
编辑: jquery getScript调用有效。
$.getScript('/rails/javascripts/javascript_file.js', function(data, textStatus){
console.log(data); //data returned
console.log(textStatus); //success
console.log('Load was performed 0.');
});
答案 0 :(得分:0)
试试这个:
:javascript
var script = document.createElement("script");
script.src = "/javascript/some_javascript_file.js";
script.type = "text/javascript"
$("head").get(0).appendChild(script);