gpt4 book ai didi

android - 如何在 native 网络浏览器中打开链接(常见建议无效)?

转载 作者:行者123 更新时间:2023-11-28 18:58:14 25 4
gpt4 key购买 nike

PhoneGap (Adobe® PhoneGap™ Build) 打开外部链接需要很长时间,并且不会在 native 手机浏览器中打开。

这是我的问题。首先,如果我在我的应用程序中单击外部链接,则需要很长时间才能显示结果。因此,例如,如果我单击一个链接几秒钟后什么也没有发生,那么该网站将显示在应用程序本身中。如果花费这么长时间,每个普通用户都会认为有问题。看起来完整的网站在显示之前首先加载,这对我的应用程序来说是好的,但对外部链接来说不是。

native 浏览器问题

但是,无论如何,我不喜欢在应用程序 View 中打开外部 Web 链接。我喜欢在手机的 native 浏览器中打开它们。

对于这个问题已经存在了几个问题和建议,其中很多太老了,可能已经过时了,其中很多甚至在堆栈溢出上。但要总结答案。建议不要直接打开链接,而是通过点击事件打开链接,防止默认设置,而不是使用 javascript window.open(' http://www.myurl.nl ', '_system'); 打开一个新窗口;

还有建议设置标签。对于_system,您将需要inAppBrowser 插件<gap:plugin name="org.li8.inappbrowser" version="0.1" /> 提供的插件。在 Adob​​e Build 的 config.xml 中。

因此,我的链接会在任何桌面和移动浏览器的新窗口(而非选项卡)中打开。但是当我将它构建为应用程序并在 Android 上启动它时,它总是在应用程序而不是 native 浏览器中打开链接。无论我尝试过什么设置组合。我看不出每次尝试有什么不同。 (目前正在测试 Android,但随后将进行 Iphone 测试。

有人可以给我一个关于这个问题的最新答案吗?

最佳答案

我最近使用 PhoneGap Build 开发了一个移动应用程序,因此您可以确定以下解决方案是最新的。

无论是使用web View 还是外部浏览器,都需要在config.xml中添加inAppBrowser插件

<gap:plugin name="org.apache.cordova.inappbrowser">

现在,如果您想打开 native (外部)网络浏览器,请使用此命令:

window.open('http://www.google.com', '_system');

如果你想打开嵌入式浏览器使用这个:

window.open('http://www.google.com', '_blank', 'location=yes');

要管理用户操作和嵌入式浏览器出现之间的延迟,您可以使用 loadstop 事件在浏览器完全加载后显示它:

    Mask('show'); /* a function to show some loading animation*/
var inAppBrowser = window.open(link, '_blank','hidden=yes');
inAppBrowser.addEventListener('loadstop', function(event) {
//show after complete load
inAppBrowser.show();
Mask('hide'); /* hide the loading mask*/

});

关于android - 如何在 native 网络浏览器中打开链接(常见建议无效)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com