我已经看到了一些关于如何在浏览器中打开链接而不是像this和Phonegap's own documentation这样的WebView的不同讨论。但是我在使这两个中的任何一个工作时遇到了问题,我想知道是不是因为我正在加载除本地index.html
文件之外的URL。这是我的设置。
我正在加载网址www.example.com
。我希望在浏览器中打开www.non-example.com
的所有网址,同时在我的WebView中保留所有子网址。我已将cordova.xml
编辑为
<access origin="http://www.example.com"/>
但是当我输入带
的网址时<a href="http://www.non-example.com" target="_blank">Foo</a>
并在我的Android设备中单击它,它只是在WebView而不是浏览器中打开它。我不知道这是否相关,但是我使用此版本将PhoneGap更新为2.2,并在与config.xml
相同的级别添加了index.html
(虽然我不确定它是否正在使用,因为我没有从头开始重新创建我的Android项目。所以我的问题可以归结为:
1)如果我使用的是非本地index.html,如何确保在浏览器中打开网址?
2)我如何知道我的config.xml
文件是否正在使用?
答案 0 :(得分:0)
我刚刚尝试了你所描述的内容,它适用于Cordova 2.3。
ad 1)
您是否确定删除了其他冲突的访问规则,即默认规则(access origin =“。*”) - 最松散的规则获胜。
ad 2)
在重建项目之前清理项目,以确保使用更新的config.xml。
如果你想强制执行一个确切的行为,你总是可以使用插件和本机代码,虽然打开浏览器这可能是一种过度杀伤。
答案 1 :(得分:0)
似乎有一个被接受的答案here。 gist看起来像你可以调用导航器对象并告诉它打开一个链接,传递一个{external:true}参数。我没有测试过,祝你好运!