Javascript 在JS代码中包含JS文件
我需要在运行时在当前工作的jQuery脚本中包含一个.js文件(更多jQuery代码)。例如,如果我的页面经过身份验证,那么我希望包含一个特定的脚本文件。我想在ASP.NETMVC中这样做 有办法做到这一点吗?如果是,调用该文件时,我应该给出什么路径 我在谷歌上搜索了Javascript 在JS代码中包含JS文件,javascript,jquery,Javascript,Jquery,我需要在运行时在当前工作的jQuery脚本中包含一个.js文件(更多jQuery代码)。例如,如果我的页面经过身份验证,那么我希望包含一个特定的脚本文件。我想在ASP.NETMVC中这样做 有办法做到这一点吗?如果是,调用该文件时,我应该给出什么路径 我在谷歌上搜索了$.getScript('file_path')但是我的页面在循环中刷新,我不知道为什么!也许我在小路上做错了什么 任何帮助都将不胜感激!谢谢。试试这个 基本上,创建脚本标记,附加它,以便在需要它的标记之前读取它并加载所需的。js$
$.getScript('file_path')代码>但是我的页面在循环中刷新,我不知道为什么!也许我在小路上做错了什么
任何帮助都将不胜感激!谢谢。试试这个
基本上,创建脚本标记,附加它,以便在需要它的标记之前读取它并加载所需的。js$。getScript()
正是您应该使用的
//Load JS files as following
["../common/howler.min.js","js/min.js"].forEach(function (src) {
var script = document.createElement('script');
script.src = src;
script.async = false;
document.head.appendChild(script);
});
我想在$.getScript()中调用它;,我该走哪条路?比如-“~/Scripts/content.js”或者其他什么
这是因为波浪字符(~
)是一个ASP.NETMVC结构,在Javascript中不起作用。对于JS,您需要使用相对路径,例如:
$.getScript('/basefolder/foo.js');
添加了正确的路径,它与“$.getScript();”一起工作。看看require js<代码>$。getScript()
正是您所需要的。但是,如果没有看到您的代码,我们无法帮助您解决刷新问题。@Rorymcrossan您能帮我找到应该在其中提供的路径吗。比如,我在解决方案资源管理器的“脚本”文件夹中有我的js文件,比如content.js,我想在$.getScript()中调用它;,我该走哪条路?比如-“~/Scripts/content.js”或者其他什么?你不能直接在js代码中使用~
,因为它是一个MVC结构。您需要使用相对路径,例如$.getScript('/basefolder/foo.js')
@RoryMcCrossan我试过上面的方法如下:xhr.onreadystatechange=function(e){if(xhr.readyState==4&&xhr.status==200){$.getScript(xhr.responseText);}否则如果(xhr.readyState==4&&xhr.status==403){location.href='/Home/Auth';}代码>虽然“xhr.responseText”的回复为“/Scripts/content.js”,但没有成功,我认为路径是一个问题。