0

構築中の Web サイトがあり、onload イベントを作成したいと考えていました。

onload イベントとして実行したい first_load() という関数を作成しました。これは、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 に読み込むと、アラートが表示されます。contact.aspx ページに移動する default.aspx ファイルのリンクをクリックすると、アラートがポップアップせず、IE9 で「オブジェクトが予期されます」というエラー メッセージが表示されます。

あるページで機能し、他のページでは機能しない理由を誰か教えてもらえますか?

4

1 に答える 1

1

ほぼ 100% の確実性で、あなたの contact.aspx ページは、first_load()メソッドが配置されている JavaScript ファイルを参照していないと言えます。

確認事項:

  1. あなたは実際にそれを参照していますか?
  2. そう思うなら、その道は正しいですか?

マスター ページから参照していて、contact.aspx ページがマスター ページと同じディレクトリになく、マスターからの相対パスを使用している場合は、正しく実行していない可能性が高く、次のようにする必要があります。ルート相対パスに切り替えます。

于 2013-03-20T18:20:07.970 に答える