我在使用PhoneGap和JQuery Mobile时遇到了一个特殊的问题,在撰写本文时使用了这两个框架的最新版本。
我的phonegap应用程序有一些应用程序的“本地”页面,以及直接从远程站点加载的其他页面。在本地页面和远程页面之间进行是很好的(没有过渡,但这不能完全得到帮助)。但是,一旦我在远程页面上,我点击远程页面上的任何链接都会打开我所请求页面的Safari。这不是理想的功能,因为我希望它都在UIWebView中,并且我的所有链接都没有标记任何会导致Safari打开的特殊功能。
它更奇怪了。如果我然后从Safari切换回程序,我请求的远程页面出现在UIWebView中,但是按下后退按钮不会导致第一个远程页面,而是第一个本地页面。
现在的phonegap应用程序非常裸露,非常接近默认值,除非加载了JQM css + js。即使我创建了一个简单的测试应用程序,其中包含一个本地JQM页面,一个远程JQM页面,然后是一个从JQM远程页面链接的远程页面,也会发生这种情况。
我很难过。这是怎么回事?
答案 0 :(得分:13)
PhoneGap的默认行为是在Safari中打开外部链接,除非它们被添加到PhoneGap.plist中的ExternalHosts属性。
尝试添加外部主机,PhoneGap应该正常运行并加载应用程序内部的外部位置。
http://30.media.tumblr.com/tumblr_lps449iRXW1qbmzy5o1_500.png
此处还有一个关于使用iFrame和ExternalHosts的post,也可以提供一些帮助。