我在网站的移动版本中有几页使用谷歌位置服务。我正在使用changePage Ajax函数来浏览网站页面。在第一页加载位置服务正常工作,如果我去不同的页面,然后返回它没有。
当我添加rel="external"
时,它可以正常工作,但问题是重新加载整个页面对桌面应用程序来说不是什么大问题,但在移动设备上看起来不太好。
我尝试将reloadPage = true
添加到changePage,但它没有任何区别
有没有办法在不重新加载整个页面的情况下重新加载位置服务?
示例:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false" ></script>
$("#btn-loc").click(function () {
$.mobile.changePage("#btn-loc", { reloadPage: true }, { transition: "slide" });
});
答案 0 :(得分:0)
当您使用reloadPage : true
时,您必须引用外部页面的位置,而不是该伪页面元素的ID:
$("#btn-loc").click(function () {
$.mobile.changePage("/btn-loc.html", {
reloadPage : true,
transition : "slide"
});
});
还要注意我是如何传入options对象的,应该只有一个包含你想要在单个对象中设置的所有属性。
reloadPage (布尔,默认:false)
强制重新加载页面,即使它已经在页面容器的DOM中。
- 仅在changePage()的“to”参数为URL时使用。
来源:http://jquerymobile.com/demos/1.1.0-rc.1/docs/api/methods.html
要通过JS向DOM添加脚本,您可以使用Google的Google Analytics代码:
<script>
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = '/path/to/my-file.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>