iPhone Open DATA: URL в Safari - PullRequest
       13

iPhone Open DATA: URL в Safari

9 голосов
/ 13 марта 2009

У меня есть URL Data: Пример:

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

Ответы [ 2 ]

7 голосов
/ 22 марта 2009

В iPhone OS 2.2.1 и 5.0.1, как в симуляторе, так и на устройстве, открытие данных: url отлично работает в UIWebView, но использование openURL точно ничего не делает.

И Safari с радостью и должным образом предоставит такой URL-адрес, если вы захотите ввести его в панель навигации, так что это явно проблема с sharedApplication openURL, а не с Safari.

Если строка base64 достаточно короткая (вероятно, менее 2 КБ), вы можете поместить ее в качестве параметра запроса в URL-адрес http, который просто возвращает перенаправление на URL-адрес данных. Затем вы можете использовать openURL, чтобы открыть http URL. Да, это значит прыгать через какой-то сервер, но это сработает.

В качестве альтернативы, поскольку Safari явно не сделал этого, вы могли бы сообщить iPhone, что ваше приложение является обработчиком для схемы data: и принимает ответственность за визуализацию контента в UIWebView. Это, вероятно, не удастся в будущем, хотя. : -)

Откуда вообще берется URL-адрес данных? Возможно, вы могли бы создать веб-страницу, содержимое которой не более чем <iframe src="<the data url>"/>, и снова использовать openURL для этого URL.

0 голосов
/ 19 марта 2009

Это должно сделать это:

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

при условии, что "yourStr" - это NString с URL-адресом, где расположены ваши данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...