[英]How to use an external javascript file in asp.net
我编写了一个脚本来隐藏和显示asp.net Web应用程序的加载程序。 内联放置时,脚本效果很好。 我试图将脚本提取到外部文件,并收到以下错误:
错误:属性“ Pausing”的值为null或未定义,不是Function对象
我试图查找该错误,但无法找到该问题的解决方案。 我是asp.net的新手,所以可能我不确定如何搜索正确的问题。
我有效的内联代码是:
<script type="text/javascript">
function Pausing() {
window.setTimeout(ShowLoader, 1);
}
function ShowLoader() {
if ((typeof Page_IsValid === 'undefined') ||
(Page_IsValid != null && Page_IsValid)) {
var i = document.getElementById("loader");
var img = document.getElementById("img");
i.style.display = "block";
setTimeout("document.images['img'].src=document.images['img'].src", 10);
Endpausing();
}
}
function HideLoader() {
var i = document.getElementById("loader");
i.style.display = "none";
}
function Endpausing() {
window.setTimeout(HideLoader, 4000);
}
</script>
事件调用被附加到下面的asp:button控件中:
<asp:Button ID="btnGetReport" runat="server" OnClick="btnGetReport_Click" OnClientClick="Pausing();" />
我删除了内联脚本并替换为...
<script type="text/javascript" src="../../Scripts/Loader.js"></script>
将脚本添加到外部文件:
window.onload = initAll;
function initAll() {
function Pausing() {
window.setTimeout(ShowLoader, 1);
}
function ShowLoader() {
if ((typeof Page_IsValid === 'undefined') || // asp page has no validator
(Page_IsValid != null && Page_IsValid)) {
var i = document.getElementById("loader");
var img = document.getElementById("img");
i.style.display = "block";
setTimeout("document.images['img'].src=document.images['img'].src", 10);
Endpausing();
}
}
function HideLoader() {
var i = document.getElementById("loader");
i.style.display = "none";
}
function Endpausing() {
window.setTimeout(HideLoader, 4000);
}
}
然后,我收到前面提到的错误。
任何帮助将不胜感激!
始终使用ResolveUrl这样调用脚本文件
假设您的脚本位于根路径的Script文件夹中,文件名为MyScriptFile.js。
<script type="text/javascript" src="<%= ResolveUrl ("~/Scripts/MyScriptFile.js") %>"></script>
编辑:您可以根据需要使用ResolveUrl或ResolveClientUrl
ResolveUrl创建相对于根的URL,而ResolveClientUrl创建相对于当前页面的URL。
根据您的问题:如何在asp.net中使用外部javascript文件
<script type="text/javascript" src="http://www.xyz.com/test.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.