Estoy usando el encantador y simple comando dialog
de jQuery para abrir un cuadro de diálogo frente a contenido de terceros integrado. Este contenido incrustado podría ser una página de cualquier sitio web. I CAN Haz que esto funcione en algunos sitios (Yahoo, Google) pero I NO PUEDO hacer que funcione en otros sitios (MSN, Johnlewis, FT).jQuery diálogo sobre el contenido de otro sitio
He eliminado todo lo posible del código a continuación para dar los primeros pasos del problema: el código tal como se muestra funciona bien y el cuadro de diálogo se muestra. ¡Pero, comente la línea YAHOO y elimine el comentario de la línea MSN, entonces el diálogo no se mostrará!
<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>
La única cosa que puedo pensar es que debe ser algo en uno de los sitios web que no trabajan que está en conflicto con mi código - Lo he intentado todo a error-trampa de la cuestión, pero no pueden encontrar lo que está causando eso.
¿Alguien me puede ayudar, por favor?
NOTAS: - (1) Sé el ejemplo como se muestra no necesita PHP, pero la versión más completa hace (acabo despojado mayor parte del código PHP de distancia para mantener este ejemplo pequeña). - (2) Estoy usando JQuery en otra parte de la página en la versión completa , así que, idealmente, me gustaría quedarme con JQuery, en lugar de presentar un marco/método alternativo.
Comprobé el código y parece que funciona. - Necesito más detalles para ayudar –
Te sugiero que uses Chrome con f12, para ver si obtienes errores en la consola JS. para más detalles, he configurado una página wiki sobre las herramientas de los desarrolladores en chrome: http://wiki.mograbi.info/developers-tools-for-web-development - esta publicación también explica cómo JS trampa de errores en diferentes método. –
Nada abre su cuadro de diálogo. Quite el "style =" display: none; "parte de su div y agregue el parámetro" autoOpen: true "a su creación de diálogo – sdespont