我在jquery-ui对话框中弹出google earth插件。这与jquery-ui 1.9.2一起工作但在升级到1.10.2之后插件加载但是当试图移动对话框时,谷歌地球停止使用“谷歌地球插件有一个内部错误。尝试重新加载页面。”
在Win7和OSX 10.8.2上都会发生这种情况,并且它发生在Chrome和&苹果浏览器。 有其他人遇到过这个问题吗?解决方法?
下面的代码是jsfiddle,如果你将jquery-ui降级到1.9.2,一切正常:
<!DOCTYPE HTML>
<html>
<script type="text/javascript" src="//www.google.com/jsapi"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<link type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script>
var loaded = false;
function loadGE() {
google.load('earth', '1', {
callback: function () {
google.earth.createInstance('editmap3d', function (instance) {
initEditGE(instance);
}, function () {
failureGE();
});
}
});
}
function initEditGE(instance) {
loaded = true;
ge = instance;
var lookAt = ge.createLookAt('');
lookAt.setLatitude(36.584207);
lookAt.setLongitude(-121.754322);
lookAt.setRange(5000.0); //default is 0.0
ge.getView().setAbstractView(lookAt);
ge.getWindow().setVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
}
function failureGE() {
console.log("GE failed to load...");
}
$(document).ready(function () {
$("#opendialog").button().click(function () {
$("#editDialog").dialog("open");
if (!loaded) loadGE();
});
$("#editDialog").dialog({
autoOpen: false,
height: 500,
width: 500,
modal: true,
resizable: false
});
})
</script>
<body>
<div>GE in popup</div>
<button id="opendialog">open</button>
<div id="editDialog">
<div id="mapcontainer" style="width:600; height:600;">
<div id="editmap3d" style="height:100%;"></div>
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
我实际上已经观察到与1.10.1类似的内容,其中插件加载然后崩溃。我注意到它与非缩小版本一起工作正常,但是与1.10.1的缩小版本崩溃。
编辑:我的问题不是jquery-ui,而是jquery和google earth。使用UI 1.10.3,它似乎可以使用min而不是min。