Cordova ios 应用程序 - 由于弹出窗口阻止程序而无法打开链接

     2023-03-14     133

关键词:

【中文标题】Cordova ios 应用程序 - 由于弹出窗口阻止程序而无法打开链接【英文标题】:Cordova ios app - Not able to open links due to pop up blocker 【发布时间】:2019-10-12 23:29:46 【问题描述】:

我有一个 cordova 应用程序,它根据一些版本匹配逻辑从服务器下载一个 angularjs 应用程序(比如“MyAngularApp”)。这个“MyAngular”应用程序位于一个压缩文件夹中,我的 cordova 应用程序将其解压缩并存储在移动设备上的永久位置。

MyAngularApp”成功下载并解压后,我使用 file://path_to_angularjs_application_in_device 从设备上的持久位置启动“MyAngularApp/index.html” /MyAngularApp/index.html

现在,我面临的问题是,当用户在 iOS 上单击“MyAngularApp”中的链接时,popupblocker 会阻止页面打开。 'MyAngularApp' 中编写的用于打开页面的代码是

        function openUrlInNewTab(url, params, isExternal) 
                    if (params) 
                        url += '#' + params;
                    
                    var windowName = url.startsWith('mailto') ? '_self' : '_blank';
                    $window.open(url, windowName);
        

我知道我们是否可以在上面进行更改以修改代码并将 _blank 替换为 _system,理论上它应该可以工作,但问题是我无法在“MyAngularApp”代码中进行更改.

我尝试从 Safari 设置中关闭 popupblocker 设置,但没有帮助。这里要考虑的一点是我无法在“MyAngularApp”代码中进行更改。我只能修改我自己的下载此“MyAngularApp”的科尔多瓦应用程序。

此问题仅在 iOS 中发生。这在 Android 上完美运行。在 iOS 版本 12+ 上测试。 Cordova 7.0.0 版

我尝试了什么?

    转到Settings Safari Block Pop-ups Disable(无效。新窗口仍然有效未开放) 安装cordova InAppBrowser 插件并分配window.open = cordova.InAppBrowser.open(不起作用,因为这里的问题是如果代码在我的cordova 应用程序加载之前适用。一旦'MyAngularApp' 加载然后上下文更改,并且这段代码不再在上下文中)。

有什么想法吗?

【问题讨论】:

嘿,你解决过这个问题吗?我有完全相同的问题 嘿@Smithy,感谢您的提醒。我已经发布了答案。希望对您有所帮助。 【参考方案1】:

我自己解决了这个问题。这是解决我的问题的方法,以防有人仍在寻找答案。

因为,在上述场景中,嵌入式 AngularJs 应用程序无法访问 cordova 库。它是在旅途中下载的,然后在cordova webview中浏览,这阻止了打开新窗口所需的cordova帮助。

我将'cordova.js' 文件手动包含在我的index.html 所在的文件夹中,它解决了问题。

【讨论】:

在 Android 上的 Cordova 应用程序中的弹出窗口后面模糊

】在Android上的Cordova应用程序中的弹出窗口后面模糊【英文标题】:blurringbehindapopupinCordovaapponAndroid【发布时间】:2018-08-1913:44:35【问题描述】:如何在AndroidCordova应用程序中设置一个弹出窗口以使背景模糊?其背后的内容不会提... 查看详情

iOS:应用内购买提醒视图/弹出窗口

...内容,但是为什么我的iAP看起来像默认的AlertView,而这个应用程序却设法以完全不同的方式呈现它。第一张图片是我想要实现的。第二张图片是我目前拥有的 查看详情

Cordova/iOS:如何关闭使用 InAppBrowser 打开的本机浏览器窗口?

...描述】:我在_system浏览器中打开一个URL,它会重定向回应用程序(使用自定义URL方案)。回到应用程序后,我想关闭外部浏览器窗口,但它不起作用。vari 查看详情

更改 Cordova Geolocation iOS 的显示名称

】更改CordovaGeolocationiOS的显示名称【英文标题】:ChangeDisplayNameofCordovaGeolocationiOS【发布时间】:2020-10-0714:31:53【问题描述】:我想更改ios位置弹出窗口的显示名称:“Wouldliketouseyourcurrentlocation”。有人知道吗?【问题讨论】:... 查看详情

Ionic/Cordova Web App - 启动时出现 index.html 错误

...-1219:34:22【问题描述】:在iOS设备和IonicLab上启动我的Ionic应用程序时,启动时会出现各种弹出窗口。我一直无法找出它们的含义以及如何解决,所以我希望这里有人可以提供帮助。如果我接受第一个弹出窗口,应用程序将加载 查看详情

从 ios 应用程序的弹出窗口中获取弹出窗口

】从ios应用程序的弹出窗口中获取弹出窗口【英文标题】:GettingapopOverfromapopoverforaniosapplication【发布时间】:2016-06-0210:15:16【问题描述】:我的场景是这样的。我有一个带有按钮的表格视图单元格。如果触发它,菜单将弹出如... 查看详情

在自定义表格单元格弹出窗口中不显示和应用程序崩溃?

】在自定义表格单元格弹出窗口中不显示和应用程序崩溃?【英文标题】:incustomtablecellpopovernotdisplayandapplicationcrash?【发布时间】:2013-11-0808:53:13【问题描述】:在我的程序中有表格视图。它有自定义单元格。此自定义单元格具... 查看详情

如何旋转 GamesClient 的弹出窗口

...题描述】:由于某些原因,我们有一个糟糕的想法,即让应用程序具有固定的横向方向并且一个“屏幕”是纵向的。由于我们使用的是libgdx,因此我们只能旋转该屏幕的所有绘图部分,并且还可以旋转广告:adView.setRotation(-90.0f);... 查看详情

Cordova、IOS 10 和 js appendChild 方法

...29:49【问题描述】:我已经使用cordova框架开发了一个混合应用程序。-应用程序正在为android和ios用户生产。由于iphone用户将他们的操作系统更新到ios10,该应用程序不再工作。这里是技术问题的链接:https://issues. 查看详情

Cordova - IOS - 有没有办法直接打开 WIFI 设置或移动数据设置?

】Cordova-IOS-有没有办法直接打开WIFI设置或移动数据设置?【英文标题】:Cordova-IOS-IsthereanywaytoopenWIFIsettingorMobileDatasettingsdirectly?【发布时间】:2017-01-1201:22:19【问题描述】:英语是我的第二语言。我很抱歉。我正在尝试开发一个... 查看详情

为啥在应用程序打开时收到通知时弹出 UIAlertview (Cordova)

】为啥在应用程序打开时收到通知时弹出UIAlertview(Cordova)【英文标题】:WhyIsAUIAlertviewisPoppingUpWhenNotificationIsReceivedWhileAppIsOpen(Cordova)为什么在应用程序打开时收到通知时弹出UIAlertview(Cordova)【发布时间】:2015-03-1318:50:44【问题描述... 查看详情

UIControl 在 ios ipad 应用程序中创建弹出窗口

】UIControl在iosipad应用程序中创建弹出窗口【英文标题】:UIControltocreateapopupinaniosipadapplication【发布时间】:2012-04-1019:53:13【问题描述】:我想在ipad应用程序中创建一个弹出窗口(如图所示)。我应该使用什么UI控件。如果有人... 查看详情

iOS中的App Store应用内弹出窗口[重复]

...:33【问题描述】:我正在尝试添加一项功能,允许人们从应用程序中下载我的其他应用程序。如果我只是链接到AppStore,它会将用户引导到AppStore应用程序并显示我的应用程序,但是我想要一个应用程序内方法。我在Facebook的iOS应... 查看详情

如何在 iPhone (iOS 5) 上的音乐应用程序中为 UITableViewCell 创建一个弹出窗口

】如何在iPhone(iOS5)上的音乐应用程序中为UITableViewCell创建一个弹出窗口【英文标题】:HowtocreateapopupfortheUITableViewCelllikeinMusicApponiPhone(iOS5)【发布时间】:2011-11-1608:07:13【问题描述】:有没有一种简单的方法来创建如下图所示的弹... 查看详情

Cordova Ios 应用程序在相机访问时崩溃

】CordovaIos应用程序在相机访问时崩溃【英文标题】:CordovaIosAppcrashesonCameraAccess【发布时间】:2018-04-1605:37:06【问题描述】:我正在为IOs使用JQuery在Windows中创建一个Cordova应用程序(由于Mac不可用),并在Phonegap云上进行远程构建... 查看详情

iOS 9.1 中不显示位置服务权限弹出窗口

...间】:2016-01-2802:00:31【问题描述】:当我第一次安装我的应用程序时,我遇到了iOS9.1的问题,提示用户提供位置服务权限,但警报视图一显示就会立即隐藏。因此应用程序不会检测用户的位置。虽然允许应用程序从setting.app访问... 查看详情

由于找不到“Cordova/CDVViewController.h”文件,离子应用程序存档在 xcode 7.2 中失败

】由于找不到“Cordova/CDVViewController.h”文件,离子应用程序存档在xcode7.2中失败【英文标题】:ionicapparchivefailinginxcode7.2dueto‘Cordova/CDVViewController.h’filenotfound【发布时间】:2016-01-2521:00:45【问题描述】:我正在开发一个适用于iOS... 查看详情

应用程序因弹出窗口而终止

】应用程序因弹出窗口而终止【英文标题】:ApplicationTerminatesduetoPopover【发布时间】:2010-07-1413:04:20【问题描述】:我正在开发iPad应用程序。根据要求在SplitviewController的详细信息页面上,我在导航栏上添加了一个自定义UIBarButto... 查看详情