1

div 要素からモーダル ダイアログを作成するための jQuery と jQuery UI を含むページがあります。これはうまくいきます。同じ HTML マークアップと同じ JavaScript ファイルへの参照を含む別のページから、まったく同じことを実行すると、次のエラーが発生します。

Internet Explorer 8:

オブジェクトはこのプロパティまたはメソッドをサポートしていません

クロム (26.0.1410.64):

キャッチされていない TypeError: オブジェクト # にはメソッド 'dialog' がありません

両方のページの HTML は次のようになります。

<div id="dialog-message" class="ui-widget" style="margin-left: auto; margin-right: auto; display: none;" title="Activity Monitoring">
    <p>
        <span id="messageContainer"></span>
    </p>
</div>

そして、これは 2 ページ目で問題が発生するコードです。最初の行が正しく実行され、'messageContainer' の内容が正しく設定されていることに注意してください。

$('#messageContainer').html(message);
$('#dialog-message').dialog({
    autoOpen: false,
    bgiframe: true,
    draggable: false,
    height: "auto",
    modal: true,
    open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); },
    position: { my: "center", at: "center", of: window },
    resizable: false,
    width: 450,
    buttons: dialogButtons
});

これらは、jQuery ファイルのインクルードです。プライバシー上の理由でパスの一部を省略しましたが、検証したところ、jQuery コードの最初の行が正常に実行されているため、機能します。3 番目のインクルードは、上記の JavaScript コードが記述されているファイルへの参照です。

<script language="javascript" type="text/javascript" src="http://.../javascript/jquery-1.8.2.min.js"></script>
<script language="javascript" type="text/javascript" src="http://.../javascript/jquery-ui-1.10.2.custom.min.js"></script>
<script language="javascript" type="text/javascript" src="http://.../javascript/Utility.js"></script>

私はここで何かを見逃していますか?あるページではこれが完全に機能し、別のページではエラーが発生する理由がわかりません。前もって感謝します!

4

1 に答える 1