0

我无法调用 javascript 函数,因为它说“需要对象”。我正在使用 asp.net,这是在带有一些用户控件的标准 aspx 页面上使用的。其中一个名为 CookieControl 的用户控件在 document.ready.ie 上调用了一个 javascript 方法 setandCheckCookie()

$(document).ready(function() {
         setandCheckCookie();
)};

在我的 aspx 页面的 head 部分中,我在添加控件之前引用了 javascript 文件:

<script src="CookiesControl/js/Cookie.js" type="text/javascript"></script>
<uc2:Cookie ID="Cookie1" runat="server" />

我已经尝试在用户控件本身上添加脚本引用,但是当我转到我的 aspx 页面时,我得到了对象预期的错误。

我不相信它是控件或 js 文件,因为它们都在网站的其他地方使用并且它们工作正常,但我正在做的是阻止 js 文件被引用,因为在 firebug 和 IE 调试器中我看不到引用的js文件。

也许路径不正确,但我已经从解决方案资源管理器中拖动了脚本,并且 Visual Studio 也没有抱怨路径。

所以我的问题是:什么可能会阻止我的 javascript 文件被引用。

4

1 回答 1

1

Visual Studio 抱怨或不抱怨路径并不总是说明您将在浏览器中得到什么。要检查脚本是否引用正常,请尝试在浏览器中获取脚本文件。例如,如果您的页面位于http://yoursite/yourpage.aspx并且您在 html 代码中的脚本引用(通过View Source,而不是您在 Visual Studio 中看到的)是folder/scriptFile.js,请输入此地址http://yoursite/folder/scriptFile.js并查看是否获取文件。如果不是,那么它就没有被引用好。要解决此类问题,请将完整路径放在 之后yoursite,例如:

<script src="/ScriptVirtualFolder/CookiesControl/js/Cookie.js" type="text/javascript"></script>

whereScriptVirtualFolder在您的站点根文件夹中,并且它是一个虚拟文件夹,这意味着它可以由浏览器在此路径中访问。此外,您可以使用 asp.net 通过使用~符号和runat='server'. 例如:

<script src="~/ScriptServerFolder/CookiesControl/js/Cookie.js" type="text/javascript" runat="server"></script>
于 2012-08-06T16:20:30.967 回答