从 Cordova 应用程序打开 Safari 网页

Posted

技术标签:

【中文标题】从 Cordova 应用程序打开 Safari 网页【英文标题】:Opening safari webpage from Cordova app 【发布时间】:2014-06-13 10:26:46 【问题描述】:

我正在使用 Cordova 框架开发一个由 html 和 CSS 组成的应用程序。 有一个按钮应该打开一个网页。问题是它打开的是应用程序内部的网页,而不是 safari。

我对 Objective C 的了解非常有限(没有),所以我希望有一个可能使用 javascript 的解决方案。

我浏览了整个互联网,但找不到非 Objective C 解决方案。

按钮非常简单:<a href="http://www.mywebsite.com/" target="_blank"><img src="img/button.jpg" alt="website"></a>

我认为 target="_blank" 可能会为我做点什么,但那(不出所料)没有用。

【问题讨论】:

查看***.com/questions/10244965/… @NijilNair 我试过了,但它会打开应用程序内部的网页。 【参考方案1】:

你可以使用inappbrowser插件

http://cordova.apache.org/docs/en/3.3.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser

使用 javascript 或 jquery 检测点击链接并使用以下代码

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

【讨论】:

我尝试执行该页面上指定的终端命令,但它一直说“找不到命令”。 @Parrotmaster 你在用什么? phonegap 或科尔多瓦。如果您使用的是phonegap,那么您需要使用phonegap 而不是cordova。我假设您之前使用过 CLI 来创建 cordova 应用程序,所以您知道在命令之前不需要这个 $。在您的项目文件夹中尝试cordova plugin add org.apache.cordova.inappbrowserphonegap plugin add org.apache.cordova.inappbrowsercd 到您的项目文件夹并尝试它们。这应该有效。 我正在使用 Cordova。我会先尝试cd 我在所有目录(xcode-projects、项目本身、项目文件夹内的cordova文件夹)都试过了,但它一直说“找不到命令”。 我发现我的cordova版本是2.0.0。我会尝试更新它,然后使用 inappbrowser 插件。【参考方案2】:

我找到了问题的答案:

Opening all URL's with Cordova childbrowser

唯一的问题是它会自动打开 twitter.com,因为共享按钮出于某种未知原因。我猜这是因为它在加载时执行的 api 调用。

【讨论】:

以上是关于从 Cordova 应用程序打开 Safari 网页的主要内容,如果未能解决你的问题,请参考以下文章

在 Safari (cordova) 中打开外部链接

Cordova 3.1 在 iOS6 上的 Safari 中打开链接

PhoneGap/Cordova 打开外部链接到 Safari 而不是全屏 inApp

Phonegap / Cordova ios外部链接iframe无法在safari中打开

Cordova 应用程序在 safari 上运行良好,但在作为应用程序安装时崩溃

Cordova 不会启动 Safari,在应用程序中显示网站