jQuery の素敵でシンプルなdialog
コマンドを使用して、埋め込まれたサード パーティのコンテンツの前にダイアログ ボックスを開きます。この埋め込みコンテンツは、任意の Web サイトのページである可能性があります。これを一部のサイト (Yahoo、Google) で動作させることはできますが、他のサイト (MSN、Johnlewis、FT) では動作させることができません。
問題の骨子を示すために、以下のコードから可能な限り削除しました。表示されているコードは正常に動作し、ダイアログ ボックスは表示されます。しかし、YAHOO 行をコメントアウトし、MSN 行のコメントを外すと、ダイアログは表示されません!!
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
<style>
.ui-widget-header { border: 1px solid #aaaaaa; background: #1f84f5 url(images/ui-bg_highlight-hard_75_1f84f5_1x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; font-size: 20pt; }
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; font-size: 20pt;}
</style>
<script>
$(document).ready(function() {
$( "#thedialog" ).dialog( "destroy" );
$( "#thedialog" ).dialog({height:400, width:600, modal: true,
buttons: {Cancel: function() {$( this ).dialog( "close" );}}
});
});
</script>
</head>
<body>
<?php
// WORKING - these pages DO launch a dialog:
$targetlink = 'http://www.yahoo.com';
// $targetlink = 'http://www.bbc.co.uk';
// $targetlink = 'http://www.google.com';
// NOT WORKING - these pages do NOT launch a dialog:
// $targetlink = 'http://www.msn.com';
// $targetlink = 'http://www.johnlewis.com';
// $targetlink = 'http://www.ft.com';
echo file_get_contents($targetlink);
?>
<div id="thedialog" title="Simple dialog box" style="display:none">My girl lollipop</div>
</body>
私が考えることができる唯一のことは、私のコードと競合している動作していない Web サイトの何かに違いないということです - 問題をエラートラップするためにあらゆることを試みましたが、原因を見つけることができません
誰でも私を助けてもらえますか?
注: - (1) 示されている例では PHP が必要ないことはわかっていますが、より完全なバージョンでは必要です (この例を小さくするために、ほとんどの PHP コードを取り除いただけです)。- (2) フル バージョンのページの別の場所で JQuery を使用しているため、別のフレームワークや方法を導入するのではなく、理想的には JQuery を使い続けたいと考えています。