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