【问题标题】:Onload event working on one page but not anotherOnload 事件在一个页面上起作用,但在另一个页面上不起作用
【发布时间】:2013-03-20 17:45:12
【问题描述】:

我正在构建一个网站,我想创建一个 onload 事件。

我创建了一个名为 first_load() 的函数,我想将其作为 onload 事件运行。我在 JavaScript 目录中名为 NewsScroller.js 的外部文件中有这个。

function first_load() {
    alert("hello");
}

我的主 asp.net 页面中有以下内容:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>MIS portal</title>
    <link href="Styles.css" type="text/css" rel="Stylesheet" />
    <script type="text/javascript" src="JavaScript/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="JavaScript/NewsScroller.js"></script>
</head>
<body onload="first_load()">
    <form id="Form1" runat="server">
        <div id="topbanner">
            <Homemade:WarningBar runat="server" ID="WarningLine" />
        </div>
        <div id="secondbanner">
            <asp:contentplaceholder id="CPH1" runat="server">
            </asp:contentplaceholder>
        </div>
    </form>
</body>
</html>

当我将 default.aspx 加载到 contentplaceholder 时,会弹出警报。当我单击 default.aspx 文件中的链接将我带到我的contact.aspx 页面时,警报无法弹出,并且我在 IE9 中收到“预期对象”错误消息。

谁能告诉我为什么它在一个页面上工作而不是另一个页面?

【问题讨论】:

  • 请发布更多代码。
  • 您是否在您的contact.aspx 页面中加载您的外部文件?

标签: javascript asp.net alert onload


【解决方案1】:

几乎 100% 可以肯定地说,您的 contact.aspx 页面没有引用 first_load() 方法所在的 javascript 文件。

检查事项:

  1. 您实际上是在引用它吗?
  2. 如果您这么认为,那么路径是否正确?

如果您从母版页引用它,并且contact.aspx 页面与母版页不在同一目录中,并且您使用的是母版页的相对路径,那么您可能做得不对并且需要切换到root相对路径。

【讨论】:

  • 谢谢,我想你的东西。我的 Default.aspx 与文件夹层次结构中的 contact.aspx 不在同一级别。当我将
  • 我必须引用 javascript 文件作为它的绝对路径,“etc/etc/etc/JavaScript/NewsScroller.js 才能让它在两个页面上工作
  • @chris313​​89:~/ 仅在 asp.net 处理“控制”时有效。您可以尝试将脚本标签更改为 &lt;script runat="server" src="~/whatever" /&gt;,但我不确定这是否可行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
  • 2020-10-02
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多