我正在尝试创建一个使用加载的URL填充的简单JQuery UI模式对话框。我有它在IE上工作(它甚至适用于IE6 !!),FF,Safari和Chrome for Windows(版本4.1.249.1042(42199))。出于某种原因只是在Chrome OS X中无效。我使用的是Chrome版本5.0.342.7 beta。弹出模式对话框就像在其他所有浏览器中一样弹出,标题正确填充,但内容为空白。加载函数的响应始终成功,但为空。
我怀疑Chrome X的OS X版本只是错误,但这段代码有什么特别的错误:
jQuery(document).ready(function($) {
$("#htmlDialog").dialog(
{ autoOpen: false,
modal: true,
height: 530,
width: 675,
maxHeight: 530,
maxWidth: 675
});
$("a.modal")
.click(function(e) {
e.preventDefault();
$("#htmlDialog").load(this.href, function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
} else {
$(this).dialog("open");
}
});
});
});
...这是链接:(正在加载的页面是一个非常简单的html页面)
<a class="modal" href="./default.html">whatever</a>
...当然还有htmlDialog div:
<div id="htmlDialog" title="Html dialog">Boo!</div>
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
我不敢提供解决方案,但我在Linux上遇到过与Chrome类似的问题。我也遇到了$ .post和$ .get函数的问题。我相信这是一个jquery bug。
答案 1 :(得分:0)
糟糕。我忘了回答我自己的问题。道歉。
经过大量测试后,我发现Chrome OS X的问题在于它无法像其他Chrome版本一样直接从文件系统加载文件。但是,如果我从Web服务器运行jQuery代码,它按预期工作。