1

我将一个函数放在一个现有的.js 文件中(我尝试了两个不同的文件),以便该方法可以在多个地方使用,而无需重复代码。我什至创建了一个简单的函数,以确保它不是我的函数搞砸的东西。

function doNothing() {
    alert("Dammit."); 
}

我可以在我的 .ascx 控件的智能感知列表中看到该方法,但是一旦我尝试进入它,它就会失败。

下面是我尝试引用该文件的方式,就查看方法而言,它似乎有效,但它不起作用。

<script src="/javascript/messages.js" language="javascript" type="text/javascript"></script>

有任何想法吗?我可能犯的任何常见错误?看起来它应该工作。

注意:当方法在 .ascx 文件中时,即使缺少分号,它们也可以正常工作。

4

1 回答 1

2

即使 IntelliSense 建议"/javascript/messages.js",如果您的应用程序安装在虚拟目录而不是网站的根目录下,路径也会出错。例如,JavaScript 文件的完整 URL 可能位于http://www.example.com/myapp/javascript/messages.js,但由于该src属性以 a 开头/,浏览器将访问http://www.example .com/javascript/messages.js(没有“myapp”虚拟目录)。

如果您使用的是 WebForms,则可以src按如下方式更改属性:

src='<%= this.Page.ResolveClientUrl("~/javascript/messages.js") %>'
于 2012-04-17T02:46:01.107 回答