Cordova Phonegap构建-在webview中打开外部链接

Cordova Phonegap构建-在webview中打开外部链接,cordova,hyperlink,webview,phonegap-build,inappbrowser,Cordova,Hyperlink,Webview,Phonegap Build,Inappbrowser,我在我的应用程序中加载了一个网页,使用 window.location.href="http://www.webpage.com"; 现在我想在浏览器中打开一个链接,但由于我在webview中,我的手机忽略了窗口。打开('http://webpage.com“,”系统“,”位置=是“并在webview中打开链接 如何修复此问题(使用PhoneGap构建) 有趣的是,“_blank”在使用ajax时起作用,但在我的例子中 当使用webview时,输出不准确-我需要一个webview解决方案并克服

我在我的应用程序中加载了一个网页,使用

window.location.href="http://www.webpage.com";
现在我想在浏览器中打开一个链接,但由于我在webview中,我的手机忽略了
窗口。打开('http://webpage.com“,”系统“,”位置=是“并在webview中打开链接

如何修复此问题(使用PhoneGap构建)

有趣的是,“_blank”在使用ajax时起作用,但在我的例子中 当使用webview时,输出不准确-我需要一个webview解决方案并克服它

My config.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <widget xmlns   = "http://www.w3.org/ns/widgets"
        xmlns:gap   = "http://phonegap.com/ns/1.0"
        id          = "com.me.me"
        versionCode = "10" 
        version     = "1.0.0" >                  <icon src="icon.png" />

<icon src="icon-60@3x.png" gap:platform="ios" width="180" height="180" />



        <name>App</name>

<gap:plugin name="cordova-plugin-inappbrowser" source="npm" version="1.0.0" />


<access origin="*" />

<preference name="EnableViewportScale" value="true"/>
<preference name="orientation" value="portrait" />
<preference name="fullscreen" value="true" />



<preference name="DisallowOverscroll" value="true"/>



</widget>

应用程序
@Atartica,
根据你上次的回答,我想说你想使用InAppBroswer

首先,这是基于使用Phonegap构建,而不是Cordova。这是有区别的

  • 这是
  • 这是
  • 这是你的电话号码
  • 这是你的电话号码。(注意:此更改从一个版本更改为另一个版本。)
请注意,在大多数情况下,这将按预期工作。但是如果您没有为编译器设置版本,您将获得最新版本,并且需要使用白名单、插件和CSP

以下是详细信息,请参见第2项。未设置编译器版本

@Atartica,
可以谢谢现在您已经安装了InAppBrowser,其余的部分需要安装

  • #1您需要为编译器设置版本,否则将来会遇到类似问题
  • #2您需要了解更多关于Cordova/Phonegap的信息。此时,您正在暗中摸索。FWIW,我没有为此得到报酬。这意味着,如果有人对你言不由衷,那是因为你似乎没有倾听
以下是您需要了解的内容——祝您好运,如果需要,可以问更多问题


1.还不支持iOS9! PhoneGap构建iOS 9支持状态

  • 2015年9月23日

  • 第一行:在Cordova iOS 4.0.0之前,iOS 9不受官方支持,Cordova团队正在努力工作。但是,一些问题可以通过一些简单的配置更改来解决

    不管你在用什么,正如论坛帖子所说,iOS 9在Cordova iOS 4.0.0之前都不受官方支持。这意味着,如果您遇到一个bug,您必须-创建一个变通方法,或者等到它得到官方支持,或者向cordova提交一个bug报告,或者等到其他人创建一个变通方法

    至于iOS9何时会得到支持,我个人猜测很快就会得到支持。不超过30天。对此有很多抱怨。科尔多瓦队正在倾听

2.未设置编译器版本 从Phonegap构建论坛:

我想补充一点:在没有宣布的情况下,PGB将默认PGB版本从3.7.0更改为cli-5.2.0。这导致所有没有在config.xml中设置“phonegap版本”的人都会突然需要splashscreen和白名单插件以及配置和html中的额外白名单规范

另外,有几个插件似乎无法使用cli-5.2.0正确构建,从而导致关于“Class***.java”的日志文件错误消息

FWIW:Phonegap构建

从您点击的:

  • #6不为编译器设置“phonegap版本”
  • #7不为插件设置“版本”
  • #10不在config.xml中添加新的“白名单”和“白名单插件”参数。
第六和第七节

对于CLI版本,如果未为平台分配版本,或者在“Phonegap构建”中,如果未在config.xml中设置Phonegap版本,则将获得最新版本。如果你幸运的话,你的程序就像预期的那样工作。如果你运气不好,你会得到一组级联错误

幸运的是,霍莉·辛斯基(Holly Schinsky)写了一篇很好的博客文章来解释这一切:

Cordova/PhoneGap版本混淆

10英镑

这一相对较新的要求意味着——要访问任何网站或网络资源,必须使用白名单和白名单插件。如果您使用cordova,此要求将生效-android@4.0.0或者更好;包括cli-5.1.1。但是,如果您的版本在4.0.0之前,比如说3.5.0或3.7.0,那么您将不必添加白名单要求

要明确的是,“白名单”已经存在了一段时间,但是插件和需求是非常新的。正如您所预料的,当添加“白名单”时,事实上的开放访问功能被弃用。或者换一种方式说,事实上的开放存取功能已经计划好并计划取消。此更改标志着删除开放存取功能的一个步骤

此外,内容安全策略(CSP)吸引了众多开发者,因为它的宣传太少了。这个CSP需要进入您使用的每个HTML页面,就像您必须等待“deviceready”一样。文档隐藏在许多最新文档页面的底部

相关链接

Phonegap构建论坛:现在需要白名单


你能多谈谈你需要什么吗。对于您的问题,有几种解决方案和方向。我在webview中有一个网页。在那个网页上,我想在用户的浏览器上打开一个链接。嗨,我确实设置了插件,我在使用ajax加载网页时已经测试过了。但当我使用“window.location.href”或“window.open”加载它时,我所有的链接都是在webview中打开的,而不是在safari…@Atartica中打开的,你原来的帖子没有提到使用插件。这也是使用iOS的第一个建议。也许现在你会明白为什么你的问题被驳倒了请发布您的
config.xml
。请说明您的目标操作系统是什么,以及您使用的操作系统版本是什么(如安卓5.x、iOS 8.x或9.x等)