Cordova - 内部超链接始终在 Safari 中打开

2023-12-05

我对 Cordova 很陌生,所以我可能不完全理解它的用途。让我从我总体上想要实现的目标开始。

我们有一个支持移动设备的 asp.net 网站,我基本上只是想用 iPhone 应用程序来包装它。当然,该站点在 IIS 服务器上运行,因此我只需要一个薄包装来启动该站点,并删除地址栏、导航等。据我了解,您可以使用 Cordova 混合方法来实现这一目标。

我按照教程进行操作,并在 xCode iPhone 模拟器中启动了该网站,结果正如我所愿。

我遇到的问题是网站内的超链接会在 Safari 浏览器中启动目标页面。从我所有的谷歌搜索来看,这似乎是大多数人遇到的相反问题。似乎大多数人都很难在应用程序内打开外部网站,这基本上将他们锁定在应用程序之外。我只是想在应用程序内我自己的网站上从 Page1 转到 Page2。

我能够用最简单的网站重现这个问题,所以我将发布相关部分。在此示例中,单击“Page 2”将在 Safari 中打开。

Asp.net 站点:

第1页.html

<html>
    <a href="page2.html">Page 2</a>
</html>

第2页.html

<html>
    Page 2
</html>

Cordova:

索引.html

<!DOCTYPE html>
<html>
    <head>
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    </head>
    <body>
        Cordova site
    </body>
    <script>
        window.location = "http://192.168.1.157:8081/Page1.html";
    </script>
</html>

配置文件

<?xml version='1.0' encoding='utf-8'?>
<widget id="vsisolutions.testsite" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Test Site</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="[email protected]" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-navigation href="http://192.168.1.157:8081/*" />
    <allow-navigation href="*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <engine name="ios" spec="~4.1.1" />
    <plugin name="com.msopentech.authdialog" spec="~0.1.6" />
</widget>

谢谢您的帮助!


这是a bug

它被固定在最新发布的 cordova-ios 4.2.0 版本

因此,您无需进行任何修改即可使其正常工作,只需使用allow-navigation标签来设置您想要允许在应用程序内导航的网址,其余的网址将按照您的要求在 safari 中打开allow-intent为所有 http 和 https url 设置。

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

Cordova - 内部超链接始终在 Safari 中打开 的相关文章

  • 进入/退出编辑模式时重绘 UITableViewCell

    我有一个表格视图 其中根据表格是否正在编辑 单元格的构建方式有所不同 具体来说 处于编辑模式时选择样式为无 非编辑模式时选择样式为蓝色 当我从一个单元转换到另一个单元时 我注意到某些单元格没有更新 快速的日志记录告诉我 即使单元格的外观发生
  • 将 NSString 的 NSArray 转换为 NSNumber 的更好方法

    考虑下面的代码 NSString param string 1 3 6 10 15 22 28 30 NSArray params param string componentsSeparatedByString NSNumberForma
  • 使用 iOS 分布式应用程序时 Google Cloud Messaging 显示“notRegistered”

    我在 iOS 应用程序上实现了 GCM 服务 我使用 PHP 在服务器上发送 GCM 当应用程序由开发配置文件签名时 它可以完美运行 也就是说 当应用程序使用 GCM 配置注册自身时 它始终返回一个正常运行的设备令牌 我可以使用令牌向设备发
  • 在 iOS 模拟器主屏幕或锁屏中设置壁纸(背景图像)

    当我正在绞尽脑汁思考某件事时 我的脑海中突然出现了这个想法 我们可以将模拟器的主屏幕背景图像设置为我们选择的图像吗 Xcode 3 2 2 模拟器 3 1 3 就是一个很好的例子 Certain versions of the simula
  • UIButton 图像未更改/更新

    首先 我对 Objective C 还很陌生 并且仍在尝试尽可能多地学习 所以请耐心等待 现在我有一个以编程方式创建的 UIButton 按下按钮时 将显示一个 UIActionSheet 其中包含 相机 选择照片 或 取消 选项 然后 按
  • Objective-C:在哪里定义宏以便随处可用?

    我有一个 iOS 应用程序 它在许多视图控制器中使用相同的字符串 数字等 所以我认为最好在一个文件中定义这些常量并在所有视图控制器实现中使用它 优点是更改一个数字 我只需要做一次 而不是在所有视图控制器中都使用该数字 实际上 我的 h 文件
  • NSDictionary 上的 NSPredicate

    我试图根据字母表在表格视图中创建部分 并在这些部分下按字母顺序对我的条目进行排序 我已经收集了 bandArrayIndex 中 bandArray 每个条目的第一个字母 现在我尝试使用 NSPredicate 来计算每个字母有多少个 我正
  • 如何知道用户何时更改设置包

    我让用户在 iPhone 的设置区域中更改他们的设置 在下一次网络同步期间 我想将用户更改发送到服务器 但前提是做出改变 但是我如何知道用户何时在设置区域中进行了更改 如果可以的话 我想避免选择总是发送信息 无论是否更改 或者首先从服务器获
  • 如何打开定位服务

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 网站在 iPhone 屏幕右侧显示空白区域

    我遇到问题http eiglaw com http eiglaw com iPhone 屏幕右侧显示约 25 像素宽的空白 边框 我在 stackoverflow 上研究了这个问题 这些帖子是相关的 但是当我尝试提供的各种解决方案时 我无法
  • iPhone 的电子书框架

    我有一本书想作为 iPhone 应用程序发布 有谁知道我可以使用免费 或便宜 的框架来实现这一目标 换句话说 我想为我的书创建一个独立的 XCODE 项目 其中包含 iPhone 用户将本书作为独立应用程序阅读所需的所有代码 我见过 O R
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 忽略触摸事件,让其下面的视图处理触摸?

    我有一个用户可以触摸的可拖动视图 但它的某些矩形将没有图像 alpha 0 当用户单击透明区域时 我能够在没有 alpha 信息的情况下构造透明区域 我希望透明区域下方的视图 同一类 来检测触摸 我的策略是当用户触摸透明区域时让视图忽略触摸
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • iPhone 上的语音识别

    我需要开发一个识别语音的 iPhone 应用程序 并根据结果执行进一步的任务 我知道iPhone 3 0不支持语音识别 我需要在服务器端实现语音识别软件 我只知道这个事情 因为我是新手 所以我不知道如何处理 意味着我需要购买哪些软件并在服务

随机推荐

  • CSS 边框样式:波浪

    我在 w3 org 上看到了这个文档 http www w3 org TR 2002 WD css3 border 20021107 borderstyles png显示 border style wave 属性 我急于尝试 在 Firef
  • 可以将一系列键映射到值的数据结构

    我试图找到一种数据结构 该结构从一系列值中获取特定值并将其映射到键 例如 我有以下条件 从1到2 9 我想把它映射到A 从4到6 我想将其映射到B 从6 5到10 我想将其映射到C 我的值为 5 我想将其映射到一个键 所以根据以上条件 我应
  • 使用 SnakeYaml 转储带引号的值

    有一个简单的 yml 文件test yml如下 color red 我按如下方式加载和转储文件 final DumperOptions yamlOptions new DumperOptions yamlOptions setDefault
  • Power Query:通过乘以另一列来转换列

    我想做类似的事情Power Query 根据另一列转换一列 但我陷入了如何修改语法以实现我的特定目标的困境 与链接的问题类似 假设我有下表 Table 1 Column A Column B Column C 1 4 7 2 5 8 3 6
  • 我可以在 Python 中多次等待同一个任务吗?

    我需要做很多工作 但幸运的是 很容易解耦到不同的任务中进行异步执行 其中一些是相互依赖的 我很清楚任务如何能够await其他多个人来获取他们的结果 但是 我不知道如何让多个不同的任务等待同一个协程 并且都得到结果 这文档据我所知也没有提到这
  • input 与 raw_input:Python 交互式 Shell 应用程序?

    我正在研究这个问题的答案 Python 交互式 Shell 类型应用程序 我的代码看起来像这样 def main while True s input gt if s hello print hi if s exit break if na
  • 将未知长度的切片中的值分配给 Go 中的结构体?

    我从github上的一些有用的包中找到了下面的案例 它看起来是如此丑陋和愚蠢 我认为更好的代码设计可以避免这种情况 但是如果遇到这种情况 是不是可以写得更简洁呢 有没有更好的方法来代替连续检查切片长度 package main type N
  • 真实设备产生过多日志

    我正在为 Android 开发一个简单的程序 我在真实设备 samsung young android 2 3 上进行了测试 我的程序会生成一些日志输出以用于调试目的 一切都很好 但我的设备开始在 Eclipse LogCat 窗口中生成大
  • hibernate中的cascade和inverse有什么区别,它们的用途是什么?

    如何在hibernate中使用级联和逆 定义它们的过程 标签是什么 它们彼此相关吗 它们有何用处 通过中间表建立多对多关系的情况 Cascade 表示是否将在子表中创建 更新记录 而 Inverse 表示是否会在中间表中创建 更新记录 例如
  • 如何使用非标准代码页读取 EBCDIC 数据,而不弄乱数字?

    这是给老手的 我正在从大型机 DB2 表中读取二进制转储 该表具有 varchar char smallint integer 和 float 列 有趣的是 DB2 使用代码页 424 希伯来语 我需要我的代码独立于代码页 因此 我使用 S
  • 如何在R中动态更改图表标题?

    这是一个使用的示例mtcars按变量分割成单独的图 我创建的是一个散点图vs and mpg通过将数据集拆分为cyl 首先创建一个空列表 然后我用了lapply循环遍历 cyl 4 6 8 的值 然后filter按该值的数据 之后 我绘制了
  • 如何在github上发布.php页面而不是.html来演示一些php内容?

    我正在看以下演示 http blueimp github com jQuery File Upload 据我在演示中的理解 php 文件是从 github 提供的 这意味着 php 内容可以从 github 提供 运行 我了解通过此链接从
  • iPhone - 为什么编译器在构建 ARM 架构时找不到某些包含内容?

    我正在尝试在 iPhone 项目中使用 C 库 我对 iPhone 开发非常陌生 我的图书馆 我已经奋斗了好几天 试图将此库构建成一个静态库 我可以将其用于模拟器 i386 和 ARM7 使用库的包含配置和 makefile 我可以毫无问题
  • 如何使用 Visual Studio 2015 为网站项目配置不同的虚拟目录

    我有一个在 VS 2012 中开发的 c 网站类型项目 我想使用 VS 2015 但无法指定与默认根目录 不同的虚拟目录 在 vs 2012 中 sln 文件中有以下几行 VWDPort 59903 VWDDynamicPort true
  • 使用正则表达式搜索元胞数组

    我经常发现自己尝试搜索元胞数组 就像我想使用 sql 查询搜索数据库一样 在这种情况下 我有许多军事基地 bases shp bases shaperead us military bases shp 然后我想过滤形状文件以获得空军基地 例
  • 使输入拇指比其他拇指更大

    这里的 React 开发人员试图通过编码来学习 这里我有一个滑块 我试图使拇指变大 但它不会比它所在的输入更大 正如你所看到的 如果我使拇指变大 它不会完全显示它 关于如何使它看起来像我想要的有什么建议吗 英语不是我的母语 所以可能会有错误
  • C#中如何获取变量的数据类型?

    如何找出某个变量保存的数据类型 例如 int string char 等 我现在有这样的事情 private static void Main var someone new Person Console WriteLine someone
  • 反应选择的默认值,当我想发布具有空白页面输出的数据时,复选框不起作用

    我无法将获取的数据作为默认值放入下拉列表 反应选择 和复选框中 我有显示的下拉菜单 好 但默认值dishId 1 is Medium 所以我应该看到在我的下拉列表中已经选择了Medium 但事实并非如此 评论的问题相同 export def
  • DllImport 与 LoadLibrary,最好的方法是什么?

    我通常在 c NET 中使用 Win32 API 但不要在一份申请中声明所有内容 有时通常使用 user32 有时使用 gdi32 我认为当我声明所有 api 函数时 它们会使用大量内存 在 NET 中使用 API 的最佳方式是什么 当您编
  • Cordova - 内部超链接始终在 Safari 中打开

    我对 Cordova 很陌生 所以我可能不完全理解它的用途 让我从我总体上想要实现的目标开始 我们有一个支持移动设备的 asp net 网站 我基本上只是想用 iPhone 应用程序来包装它 当然 该站点在 IIS 服务器上运行 因此我只需