【发布时间】:2012-04-14 00:35:32
【问题描述】:
我的移动应用程序(使用 Sencha Touch 2 创建)上有一个带有target="_blank" 属性的链接。该应用程序被打包为原生 iOS 应用程序。问题是,该链接未按预期在 Safari 中打开,而是在应用程序内打开。在新的浏览器窗口中的 Safari 中打开链接非常重要。我怎样才能做到这一点?
我应该补充一点,我使用的是 Sencha 的原生打包器(sencha 包)。默认行为似乎是在同一个 web 视图中打开新窗口。但我需要它们在移动 Safari 中打开。
在 Xcode 项目中,我可以执行以下操作:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:request.URL];
return NO;
}
return YES;
}
如何用 Sencha Touch 原生封装做到这一点?
【问题讨论】:
-
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"你的链接"]];
-
请看我的帖子,我说的是使用Sencha Touch框架的原生打包器。
-
如果不使用原生打包器,肯定有办法做到这一点。
-
是的,实际上这就是我必须做的。但这并不是我问题的真正答案。如果有更多选项来配置打包过程,那就太好了。
-
您可以在 sencha touch 2.1 中使用 cmd beta 3 执行此操作: Ext.device.Device.openURL('url-to-open.com');来源:docs.sencha.com/touch/2-1/#!/api/…
标签: ios sencha-touch sencha-touch-2 web-applications