在 Phonegap Build App (iOS/Android) 中打开外部链接

2024-03-24

我在用着音隙构建要部署 mi Apps,我正在使用科尔多瓦3.3.0版本。

我想在本机浏览器中打开外部链接(安卓/iOS)。我正在尝试使用InAppBrowser 插件科尔多瓦,但这对我不起作用。打开链接,但在应用程序内没有后退按钮...:/

我见过这样的答案包含phonegap.js 文件 https://stackoverflow.com/questions/18675861/external-links-in-phonegap-app-do-not-open-well(但是当使用 Phonegap Build 部署时,您不必包含它,PGB 会为您完成),或者使用或使用函数打开链接 + InAppBrowser 插件 https://stackoverflow.com/questions/15618840/consistent-way-to-open-links-from-phonegap-app-in-both-android-and-ios#_=_,甚至有人说这是固定的本地部署 https://stackoverflow.com/questions/15534630/phonegap-build-how-to-open-external-url-in-device-browser-on-android, but 我无法本地部署因为我的 Mac 不支持新版本的 XCode 和 iOS SDK。

这是我的相关代码配置文件:

<preference name="phonegap-version" value="3.3.0" />
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.3.3" />
<feature name="InAppBrowser">
    <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>
<access origin="*" />

这是JS函数我一直在尝试:

function abrirURL(url){
    if(device.platform === 'Android') {
        navigator.app.loadUrl(url, {openExternal:true});
    } else {
        window.open(url, '_system');
    }
}

And the links我尝试了一下,从最基本的到函数的使用:

<a href="http://www.example.com" target="_blank">Link</a>
<a href="#" onClick="abrirURL('http://www.example.com');">Link</a>
<a href="#" onClick="window.open('http://www.example.com', '_blank');">
<a href="#" onClick="window.open('http://www.example.com', '_system');">

这些对我都不起作用,请有人帮助我。谢谢!


我的问题的解决方案是包含phonegap.js 文件 https://stackoverflow.com/questions/18675861/external-links-in-phonegap-app-do-not-open-well/18697241#18697241 to my <head>在我将使用 InAppBrowser 的所有页面中:<script src="phonegap.js"></script>

我要解释一下,为什么这个解决方案第一次对我来说似乎不符合逻辑(也许你也是),但后来我尝试了并且它有效。

这就是他的Phonegap插件文档 http://docs.build.phonegap.com/en_US/configuring_plugins.md.html#importing-native部分说:

“如果插件使用js-module元素指示 cordova 加载插件 javascripts,然后 no<script>加载插件需要引用。这是核心 cordova 插件的情况"

应用内浏览器 https://build.phonegap.com/plugins/658是一个核心cordova插件。但由于某种奇怪的原因,除非您包含phonegap.js文件(至少在 0.3.3 版本中)。

NOTE: 我发现了一个错误。有人说你必须包含3个文件:phonegap.js, cordova.js and cordova_plugins.js。但是,当我包含这 3 个文件时,我的应用程序在 iOS 7 中工作正常,但在 iOS 6 中忽略插件的使用(使用:Cordova 3.3.0 + Phonegap Build + InAppBrowser 0.3.3)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Phonegap Build App (iOS/Android) 中打开外部链接 的相关文章

随机推荐

  • 从 phpMyAdmin 更改 mysql 时区

    我正在尝试更改数据库的时区 我在共享服务器数据库支持人员不能只为我更改它 当前时区是 1 00我想要它作为 05 30 我搜索并尝试遵循但没有任何效果 date default timezone set timezone name 添加到我
  • 在没有 Sparc 硬件的情况下运行 Sparc 二进制文件

    在过去的几个月里 我一直很好奇尝试为 SPARC 处理器 V8 或 V9 进行一些组装 我的问题是 我无法访问 SPARC 机器 有没有办法可以在我的 x86 机器上运行 SPARC 二进制文件 我看过 QEMU 但不太确定如何设置它 Si
  • 如何修改生成器角度全栈图标?

    如何修改生成器角度全栈图标 我正在部署入门项目https github com DaftMonk generator angular fullstack https github com DaftMonk generator angular
  • 如何从 Azure DevOps 管道中的另一个作业访问 InvokeRestAPI 任务的响应?

    我正在尝试通过从 Azure DevOps 管道中调用 Elasticsearch 资源的 REST API 来自动部署 Elasticcloud 中的 Elasticsearch 资源 使用 InvokeRestAPI 任务调用 API
  • sed 是否阻塞?

    我的印象是 sed 没有阻塞 因为当我说 iostat sed sed在数据到达时对其进行处理 但是当我这样做时 iostat sed netcat Then sed blocks netcat 我对吗 sed当它不打印到终端时 将在缓冲模
  • OCIEnvCreate 失败,返回代码 1,但错误消息文本不可用

    我在这个异常中遇到了一些麻烦 我已经尝试过我看到的这个选项here https stackoverflow com questions 12901045 ocienvcreate failed with return code 1 but
  • ASP.NET Web 方法和 WCF 服务有什么区别?

    我是 Net 的新手 不明白其中的区别 有人能指出我正确的方向吗 ASP NET Web 服务是为构建通过 HTTP 使用简单对象访问协议 SOAP 发送和接收消息的应用程序而开发的 WCF 用于使 NET Framework 应用程序能够
  • 如何在Eclipse中找到被重写的方法?

    当我在 eclipse java 中查看一个方法时 如何跳转到它覆盖 扩展的方法 三种方法可以解决这个问题 超链接方式 鼠标 键盘 将鼠标悬停在覆盖的方法上时按 CTRL 键 您应该看到一个名为 打开超级实现 的选项 点击它 From he
  • 使用 CXF 拦截器进行错误处理 - 更改响应消息

    我正在尝试处理来自后端的错误 这handleMessage 如果发生错误但内容是 XmlMessage 的实例 则调用 我想将其更改为我自己的响应 只需设置响应代码并添加一些消息 我还没有找到任何合适的文档可以告诉我如何做到这一点 这些示例
  • 如何使用 UTC 时区偏移格式化 DateTime?

    这是什么类型的日期格式 2020 03 26T00 57 08 000 08 00 我在用着日期格式 https api flutter dev flutter intl DateFormat class html class DateTi
  • 生成 javadoc 作为 word 文档

    我们怎样才能将javadoc生成为word文档而不是传统的html页面呢 查看 doclet http doclet com http doclet com其中有大量自定义 javadoc 渲染的示例 即 PDF 等 并且还研究了 Apac
  • (ResourceGroupNotFound) 资源组“????”创建天蓝色媒体服务帐户时找不到

    我正在尝试使用此处的说明创建服务主体帐户 https learn microsoft com en us azure media services latest stream files tutorial with api examine
  • 脚本和样式元素的 HTML“nonce”属性的用途是什么?

    W3C 表示 HTML5 1 中有一个新属性 称为nonce for style and script可供网站的内容安全策略使用 我用谷歌搜索了一下 但最终没有明白这个属性实际上是做什么的 以及使用它时会发生什么变化 The nonce属性
  • 暂停和恢复 jmeter 执行

    我正在寻找暂停和恢复 JMeter 执行 单 多线程 的选项 1 Pausing and Resuming through command line 2 From the Jmeter UI 3 By coding in some lang
  • 如何创建 nggrid 自定义页脚

    我想为 ng grid 启用页脚 但我想完全自定义它并覆盖 ng grid 默认情况下的功能 基本上 我只想要网格底部的 加载更多 链接 该链接将根据 pagingOptions pageSize 设置的内容从服务器加载更多行 并将其附加到
  • 从 umbrello 中的 java 代码自动创建类图?

    我能够将 java 代码导入到 umbrello 中 但是 如何自动生成类图呢 也许雨伞可以not有那个功能 来自handbook http docs kde org stable en kdesdk umbrello code impor
  • Clojure中,函数、引用函数和尖引号函数之间的区别

    在 clojure 中 我想知道以下三者之间有什么区别 println map 1 2 3 4 5 6 println map 1 2 3 4 5 6 println map 1 2 3 4 5 6 结果是 5 7 9 4 5 6 5 7
  • 如何将 Express 响应对象传递给前端 JS 对象

    我的控制器正在通过 res render 将纬度 经度数据发送到我的车把视图 res render coords viewModel viewModel 包含一个对象数组 每个对象都包含位置名称 纬度和经度 我想获取这些信息并在我的视图中的
  • Google Play 控制台显示 Release not live

    通常 当应用程序在内部渠道中发布时 构建会立即得到反映 一分钟之内 但奇怪的是 即使一天后 构建也没有反映出来 我正在使用最新的 Google 控制台 其状态显示为 发布未上线 而不是 正在审核 您能帮助了解可能导致此情况的行为或情况吗 当
  • 在 Phonegap Build App (iOS/Android) 中打开外部链接

    我在用着音隙构建要部署 mi Apps 我正在使用科尔多瓦3 3 0版本 我想在本机浏览器中打开外部链接 安卓 iOS 我正在尝试使用InAppBrowser 插件科尔多瓦 但这对我不起作用 打开链接 但在应用程序内没有后退按钮 我见过这样