Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在应用浏览器的新窗口中打开Cordova链接_Ios_Cordova - Fatal编程技术网

Ios 在应用浏览器的新窗口中打开Cordova链接

Ios 在应用浏览器的新窗口中打开Cordova链接,ios,cordova,Ios,Cordova,我正在尝试使用iApp浏览器打开外部网页,这很好! 该页面在应用程序中打开,我也可以打开多个选项卡 但有一个问题。当我打开一个网页远程站点时,它有自己的外部链接。 当我点击这些链接时,它会在应用程序的同一个InAppBrowser选项卡中打开它们 我不想要那种行为。我希望能够将所有这些链接发送到ios safari系统浏览器。 我最难在Cordova/PhoneGap中编写的应用程序之外打开链接 我正在使用InAppBrowser插件,我希望整个应用程序中的每个链接都能在外部打开 以下是打开链接

我正在尝试使用iApp浏览器打开外部网页,这很好! 该页面在应用程序中打开,我也可以打开多个选项卡

但有一个问题。当我打开一个网页远程站点时,它有自己的外部链接。 当我点击这些链接时,它会在应用程序的同一个InAppBrowser选项卡中打开它们

我不想要那种行为。我希望能够将所有这些链接发送到ios safari系统浏览器。 我最难在Cordova/PhoneGap中编写的应用程序之外打开链接

我正在使用InAppBrowser插件,我希望整个应用程序中的每个链接都能在外部打开

以下是打开链接的插件中的代码:

    - (void)open:(CDVInvokedUrlCommand*)command
{
CDVPluginResult* pluginResult;

NSString* url = [command argumentAtIndex:0];
NSString* target = [command argumentAtIndex:1 withDefault:kInAppBrowserTargetSelf];
NSString* options = [command argumentAtIndex:2 withDefault:@"" andClass:[NSString class]];

self.callbackId = command.callbackId;

if (url != nil) {
    NSURL* baseUrl = [self.webView.request URL];
    NSURL* absoluteUrl = [[NSURL URLWithString:url relativeToURL:baseUrl] absoluteURL];

    if ([self isSystemUrl:absoluteUrl]) {
        target = kInAppBrowserTargetSystem;
    }

    if ([target isEqualToString:kInAppBrowserTargetSelf]) {
        [self openInCordovaWebView:absoluteUrl withOptions:options];
    } else if ([target isEqualToString:kInAppBrowserTargetSystem]) {
        [self openInSystem:absoluteUrl];
    } else { // _blank or anything else
        [self openInInAppBrowser:absoluteUrl withOptions:options];
    }
现在,我试着用很多不同的方法来改变它,让它在外面打开,但它不起作用!! 当我使用window.open时,它显然应该在应用程序中打开一个新选项卡,但是任何从打开的页面转到任何地方的链接都应该在应用程序外部和系统浏览器中打开

使用window.open打开的一些页面是远程http页面,出于最奇怪的原因,我无法在reomote页面中打开这些链接

有没有办法改变上面的代码,迫使它打开外部的链接

有趣的是,如果我打开其中一个类,我可以在常规的cordova浏览器中执行此操作:

platforms/ios/CordovaLib/Classes/CDVWebViewDelegate.m第207行

    if (navigationType == UIWebViewNavigationTypeLinkClicked){ 

    [[UIApplication sharedApplication] openURL:request.URL];
        return NO;
    } 

    return YES;
所以请告诉我我的选择是什么