[英]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.