相关疑难解决方法(0)

PhoneGap:在Safari中打开外部URL

我刚刚升级到PhoneGap 1.6.1,我无法再在Safari中打开外部URL.

在此版本之前,我修改了AppDelegate.m,如下所示:

- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL *url = [request URL];
    if ([[url scheme] isEqualToString:@"http"]) {
        [[UIApplication sharedApplication] openURL:url];
        return NO;
    } else {
        return [self.viewController webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
    }
}
Run Code Online (Sandbox Code Playgroud)

我注意到之前有一个类似的问题: 如何在Safari中打开外部链接而不是应用程序的UIWebView?

但在我看来,这个答案不再适用于1.6.1版本.

我也尝试在Cordova.plist中设置OpenAllWhitelistURLsInWebView,但两个设置都没有给我Safari.

提前致谢.

cordova

26
推荐指数
4
解决办法
4万
查看次数

强制无线弹出窗口:单击链接以打开Safari

我们在网络上遇到iOS设备问题(ipads,iphone等):连接到SSID后,iphone/ipad立即打开强制网络助手(CNA) - 它就像一个没有导航按钮等的缩小浏览器 - 显示我们的欢迎页面(准备让用户在网络中验证他的MAC以给他上网).这个CNA是iOS的功能,自动发生.

我在这个论坛上四处寻找如何让用户通过点击链接(在CNA中)打开他的Safari浏览器,从而将他从CNA发送到Safari(这是我希望他的地方).

我搜索了一些短语,例如:"如何设置一个在safari中打开的链接",但我得到的结果是关于使用phonegap做这种事情的人...
一个用户谈到使用window.open(myURL,'_ system`)但是我不知道这是否解决了我的问题.

基本上我的计划是: - 让我的欢迎页面(用户连接到我的SSID后显示的页面)检测用户设备的浏览器类型.我的欢迎页面托管在我的控制器的Walled Garden中的一个站点,因此每个设备都可以看到欢迎页面(无论他们是否具有完全的互联网访问权限). - 如果用户有iOS设备,则CNA浏览器会自动打开.我的控制器检测到设备有一个CNA浏览器,并加载一个带有消息的简单页面(如):"点击此处开始导航" - 在接下来的几秒钟内(当用户消化消息时),我的控制器给用户MAC完全互联网访问 - 当用户在CNA浏览器中点击该链接时,CNA关闭然后打开Safari,并强制Safari打开目标欢迎页面(我希望我的用户在哪里,具体取决于他所使用的天线)连接的).

我真的希望一切都有道理......

我在这个论坛中找到了关于CNA浏览器的链接: Bypasses Apple Captive Network Assistant在iOS 7中登录

但它会让用户从一开始就打开Safari(禁用CNA功能),"希望"用户打开Safari(而不是直接转到他的某个应用程序).我更喜欢用户必须"点击继续",这使Safari打开,他看到我的欢迎页面.

macos mobile-safari wifi ios captivenetwork

24
推荐指数
2
解决办法
1万
查看次数

Cordova,为什么需要在InAppBrowser插件中打开系统浏览器中的链接

我有一个Cordova应用程序,它是一个带有单个HTML文件的单页面应用程序.

所有链接都应在系统浏览器中打开.我不想要"嵌入式"InAppBrowser,但实际上是原生系统/外部浏览器.

我们可以在任何地方找到使用InAppBrowser的代码示例:

window.open('http://apache.org', '_system');
Run Code Online (Sandbox Code Playgroud)

但是,为什么我们需要安装InAppBrowser,即使我们甚至不打算使用嵌入式浏览器?

关于链接的目标,有人真的可以实现WebView的行为吗?目前尚不清楚它应该用a target=_blank做什么,但除了打开一个新的浏览器窗口之外我什么都看不到.

请注意,问题似乎只出现在iOS上,因为使用Android(使用Crosswalk插件)target=_blank似乎始终可以正常工作并在新的本机浏览器窗口中打开.

phonegap-plugins cordova inappbrowser ionic

10
推荐指数
1
解决办法
1万
查看次数

从Ipad phonegap应用程序在外部浏览器中打开网页

可能重复:
phonegap:在Safari中打开外部链接而不是应用程序的UIWebView

我为我的Ipad制作了一个HTML5应用程序.这是通过phonegap原生的.在我的应用程序中,我有som外部链接到网页.但是,当我打开这些链接时,外部网页会在我的应用程序中打开,而且由于我的Ipad没有"后退按钮",因此无法返回我的应用程序.即使我关闭应用程序,然后再次打开它,外部网页也会打开.

我试图用一个儿童浏览器解决问题,但我也遇到了同样的问题.这是我使用的代码:

openChildBrowser('http://en.wikipedia.org/wiki/Lapis_lazuli',{ showLocationBar: true });">text here</a>
Run Code Online (Sandbox Code Playgroud)

和:

<a onclick= "window.plugins.childBrowser.showWebPage('http://en.wikipedia.org/wiki/Lapis_lazuli',{showLocationBar: true});">text here</a>
Run Code Online (Sandbox Code Playgroud)

我当然经常尝试一下href.有没有人能解决我的问题?谢谢你的时间 :)

html5 ipad cordova

3
推荐指数
1
解决办法
2844
查看次数

Cordova(PhoneGap)和iFrames

似乎每个人都知道愚蠢的小,但在PhoneGap中,不允许你在你的应用程序中使用iFrame.有很多修复,但它们要么是旧版本的PhoneGap,要么不起作用或导致其他问题.这是我到目前为止所尝试的:

  1. OpenAllWhitelistURLsInWebView

  2. http://craigpfau.com/2012/02/phonegap-ios-uiwebview-and-safari-app-links/

  3. 如何在Safari中打开外部链接而不是应用程序的UIWebView?

似乎没什么用.这是我想要完成的事情:

  1. 视频嵌入来自vimeo(iframe)留在app,externalhosts:vimeo.com a.vimeocdn.com b.vimeocdn.com
  2. 所有其他链接都去野生动物园

这是我的应用详情:

ios 5.1.1 | Cordova 1.7.0 | JqueryMobile | Jquery 1.7.1

ios5 cordova

3
推荐指数
1
解决办法
3527
查看次数

如何在UIWebView中的safari.app中打开外部链接?

我想在safari.app中请求外部链接.不幸的是它不起作用.我已尝试过所有代码如何在Safari中打开外部链接而不是应用程序的UIWebView?但它们都不适用于我的代码.

你有什么想法吗?我的错误在哪里?谢谢你的帮助!

这是我的代码:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController


- (void)viewDidLoad
{
    [self.iPhoneWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"]]];
    [self.iPadWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"]]];

}

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    //  open External Links (not beginning with http://www.example.com in Safari.app
    if (
        (navigationType == UIWebViewNavigationTypeLinkClicked) &&
        ( ![[[request URL] absoluteString] hasPrefix:@"http://www.example.com"])
        ) {

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

    //open Internal links in uiwebview
    return YES;
}


- (void)displayActivityControllerWithDataObject:(id)obj {
    UIActivityViewController* vc = [[UIActivityViewController alloc]
                                    initWithActivityItems:@[obj] applicationActivities:nil];
    [self …
Run Code Online (Sandbox Code Playgroud)

safari objective-c uiwebview ios

1
推荐指数
1
解决办法
4511
查看次数