我正在使用 jQuery 的可爱而简单的dialog
命令在一些嵌入的 3rd 方内容前面打开一个对话框。该嵌入内容可以是来自任何网站的页面。我可以让它在某些网站(雅虎、谷歌)上工作,但我不能让它在其他网站(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>
我唯一能想到的是,它一定是某个非工作网站上与我的代码冲突的东西——我已经尝试了一切来错误地捕获问题,但找不到导致它的原因。
任何人都可以帮助我吗?
注意: - (1) 我知道所示示例不需要 PHP,但更完整的版本需要(我只是剥离了大部分 PHP 代码以保持这个示例的小)。- (2) 我在更完整版本的页面中的其他地方使用 JQuery,所以理想情况下我想继续使用 JQuery,而不是引入替代框架/方法。