在 jquery mobile / phonegap 中重新加载外部脚本(即谷歌地图)

Posted

技术标签:

【中文标题】在 jquery mobile / phonegap 中重新加载外部脚本(即谷歌地图)【英文标题】:Reloading external scripts (ie. google maps) in jquery mobile / phonegap 【发布时间】:2014-07-15 18:05:48 【问题描述】:

我有一个使用 jquery mobile 构建并使用 phonegap 打包的应用程序。我遇到的问题是,如果用户要以飞行模式(或只是没有网络连接)启动我的应用程序,然后打开连接/获得连接谷歌地图将不会加载,除非当然完全杀死应用程序并且重新启动。

我尝试解决此问题的方法只是使用以下内容重新加载页面...

if(checkOnlineStatus())
            $.mobile.changePage( './index.html',
                
                  allowSamePageTransition : true,
                  transition              : 'none',
                  showLoadMsg             : false,
                  reloadPage              : true,
                  changeHash              : false
                
              );
        
        else
            alert("Application requires a network connection.  Please check your settings and retry."); 
        

无论我是否将它们包含在 data-role="page" 中,这似乎都不会重新加载任何脚本。我将谷歌地图脚本存储在</body> 标记之前,尽管我已经尝试过将其存储在页面元素中的这种方法。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

这是最后的解决方案,并不适合所有人,但就我而言,它可以正常工作。我用整个重新加载窗口替换了 changePage...

 window.location.reload(true);

这会强制从服务器重新加载。

【讨论】:

以上是关于在 jquery mobile / phonegap 中重新加载外部脚本(即谷歌地图)的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 或 javascript 在 php 页面发送值 [关闭]

如何使用 jquery 或 jquery mobile mobile 根据日期列出数据

jQuery mobile 滑动打开面板

jquery mobile 如何获取触摸的坐标

JQuery mobile

jQuery Mobile中$.mobile.buttonMarkup方法使用具体解释