我想解释一下我的情况。
我正在撰写一个网站,其中一个网页正在使用谷歌地图。
该网站是cms
网站,正在使用ektron
所以,我必须使用ektron google map
因为它提供了客户想要的一些功能。
Ektron
只是使用google map
并使用ajax与自己的逻辑结合。
我知道详细信息,但每当我尝试更改ektron map
的属性时,我都需要点击search
或zoom in
或zoom out
或移动地图。
只有在我这样做之后,才会改变属性。如果没有,他们就没有。
所以,我想到了快捷方式并以编程方式点击了search
的{{1}}按钮。
然后,我再次以编程方式将控件添加到ektron map
。
我无法写panel
因为我发现在地图加载之前有效。
所以,我编写了这段代码以使地图有效。
document.ready
有效。 <script type="text/javascript">
$(window).load(function () {
$("#__GetAddr").click();
});
</script>
是搜索按钮ID,我会在所有内容加载后单击它。
但是当我使用chrome时问题就开始了。
我发现__GetAddr
无法使用chrome,safari和opera。
我用谷歌搜索了一段时间,但找不到任何可靠的答案。
是否有任何明确的替代方式可以在这3个浏览器中工作,而它仍适用于IE7,8,9和Firefox。
非常感谢。
大家好,我有一个解决方案。
我认为这是最好的解决方案。但它确实有效。
$(window).load()
我希望有一个更好的。 :P
答案 0 :(得分:1)
<script type="text/javascript">
if (navigator.appName == "Microsoft Internet Explorer") {
$(window).load(function () { $("#__GetAddr").click(); });
}
else {
window.addEventListener('load', function () { $("#__GetAddr").click(); }, false);
}
</script>
答案 1 :(得分:0)
你有没有尝试过准备文件?
$(document).ready(function() {
$("#__GetAddr").click();
});
答案 2 :(得分:0)
这不好,但如果您发现浏览器不是Chrome,则可以使用超时。但是,一旦加载,我真的会尝试从地图本身获得一些通知。
答案 3 :(得分:0)
您正在使用jQuery 3.1.0版,并且自jQuery版本1.8以来不推荐使用load事件。 load事件从jQuery 3.0中删除。相反,您可以使用on方法并绑定JavaScript load事件:
$(window).on('load', function () {
$("#__GetAddr").click();
});
答案 4 :(得分:-1)
您可以尝试Google在其Maps API文档中推荐的内容 - 在body标记中放置onload事件。这适用于每个浏览器:
<body onload="ready()">
然后,在脚本标记中声明下面的ready()函数:
<script type="text/javascript">
function ready() {
$("#__GetAddr").click();
}
</script>