Javascript Cordova 3.5-移动系统浏览器中的Android开放链接根本不工作
我知道这已经被问了很多次了。但就我的一生而言,我似乎无法让它与所有这些解决方案一起工作 我正在使用Cordova3.5+jQueryMobile(用于设计)+一些js插件 以下是我在rnd中尝试和做过的事情:Javascript Cordova 3.5-移动系统浏览器中的Android开放链接根本不工作,javascript,android,jquery-mobile,phonegap-build,cordova-3,Javascript,Android,Jquery Mobile,Phonegap Build,Cordova 3,我知道这已经被问了很多次了。但就我的一生而言,我似乎无法让它与所有这些解决方案一起工作 我正在使用Cordova3.5+jQueryMobile(用于设计)+一些js插件 以下是我在rnd中尝试和做过的事情: navigator.app.loadUrl("http://google.com", {openExternal : true}); <a onclick="navigator.app.loadUrl('https://google.com/', { openExternal:tr
navigator.app.loadUrl("http://google.com", {openExternal : true});
<a onclick="navigator.app.loadUrl('https://google.com/', { openExternal:true });">Link</a>
navigator.app.loadUrl(“http://google.com“,{openExternal:true});
:
在这种情况下,当我使用cordova构建它时,browserOnly会发生更改,然后很明显,更改不会发生
然后我发现使用JS函数的另一种方法是:
<script type="text/javascript">
$('a[target=_blank]').on('click', function(e) {
e.preventDefault();
window.open($(this).attr('href'), '_system');
return false;
});
</script>
$('a[target=_blank]')。在('click',函数(e){
e、 预防默认值();
window.open($(this.attr('href'),'u system');
返回false;
});
这里也没有什么事情发生
我应该提到的是,这些都是去年的答案,没有一个提到科尔多瓦3.5.0-0.2.6
因此,我开始这个特定版本的线程,我真的很感谢一些帮助。我正在测试的手机是运行Android 4.4.4的Moto G。这里是一个简单的演示:
大家好
您还需要添加cordova插件:org.apache.cordova.inappbrowser
用这个 sagar提供的链接中接受的答案是解决方案。我在运行android 4.4的motog中进行了尝试,效果很好。添加了此窗口。打开(“'u系统”);并在项目目录中安装了inapp浏览器插件
我的cordova版本是3.4,但我认为这不会有什么不同
我跟踪的链接
我已经发布了一个基于示例u创建的示例测试项目
我已经试过了。此外,该链接还进一步提到我需要安装inappbrowser插件,这在您的回答中缺失。你是怎么做到的?链接是你的答案我刚刚给了你一个演示你确定插件URL中有“核心”吗?链接没有它。你就是这么想的吗?当我在Moto G上试用时,它不起作用。@Gallwynmasc看到他的编辑,他从插件URL中删除了核心。这应该行得通。@HischT我已经试过那种方法了。它没有按需要工作。就像我在下面的评论中提到的。浏览器不会打开,但不是作为单独的应用程序打开,而是在我的应用程序中打开,因此用户必须按下浏览器上的返回键,然后返回到应用程序,这不是通常的流程。URL必须作为单独的应用程序本身在浏览器中打开,并且“我的应用程序”仍应可用。希望我能解释清楚。你是怎么做到的?我仍将尝试您共享的phonegap链接,看起来是一种新方法。我尝试过。浏览器不会打开,但不是作为单独的应用程序打开,而是在我的应用程序中打开,因此用户必须按下浏览器上的返回键,然后返回到应用程序,这不是通常的流程。URL必须作为单独的应用程序本身在浏览器中打开,并且“我的应用程序”仍应可用。希望我能解释清楚。你是怎么做到的?我仍将尝试您共享的phonegap链接,看起来是一种新方法。谢谢。我在链接中尝试了答案。我的config.xml文件会自动重置,我添加的所有内容都会被删除,因此更改不会生效。我编辑的配置是根目录中的配置,而不是第一个目录中的配置。实际编辑哪个?config.xml靠近您从命令行创建的项目。不要编辑symlinked config.xml。symlinked config.xml是什么?根目录中的一个?我通过编写代码来实现这一点:$('a')。在(“单击”,函数(事件){event.preventDefault();var-anchor=$(this);var-value=anchor.attr(“href”);window.open(值,'.'u-system');});在onDeviceReady功能之外,但在doc ready内部!
<script type="text/javascript">
$('a[target=_blank]').on('click', function(e) {
e.preventDefault();
window.open($(this).attr('href'), '_system');
return false;
});
</script>