繁体   English   中英

iPhone Open DATA:Url在Safari中

[英]iPhone Open DATA: Url In Safari

我有一个Data:URL(参见: http//en.wikipedia.org/wiki/Data_URI_scheme )(作为NSString),我想在Safari中打开它。 你会如何做到这一点(我试过openURL:。)
例:

data:text/html;base64,(Some Base64 Encoded Data Here)

在iPhone OS 2.2.1和5.0.1中,在模拟器和设备上,打开数据: url在UIWebView完美运行,但使用openURL确实没有任何效果。

如果您愿意在导航栏中输入一个URL,Safari很乐意并且正确地呈现这样的URL,因此这显然是sharedApplication openURL的问题,而不是Safari。

如果base64字符串足够短(可能小于2K),您可以将其作为查询参数包装到http URL,该URL只返回重定向到数据URL。 然后,您可以使用openURL打开http URL。 是的,这意味着通过一些服务器弹跳,但它会工作。

或者,由于Safari显然还没有这样做,你可以告诉iPhone 你的应用程序是data: scheme的处理程序,并负责在UIWebView中呈现内容。 不过,这似乎有可能在未来失败。 :-)

数据URL首先来自哪里? 也许您可以构建一个网页,其内容只不过是<iframe src="<the data url>"/>并再次使用该URL上的openURL。

这应该这样做:

NSURL *yourURL = [[NSURL alloc] initWithString:yourStr];    
[[UIApplication sharedApplication] openURL:yourURL];
[yourURL release];

假设“yourStr”是一个NString,其中包含数据所在的URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM