html / iOS - разрешить ссылку на что-то другое в зависимости от того, является ли устройство iPhone или iPad - PullRequest
0 голосов
/ 27 декабря 2011

Да, я мог бы обнаружить это в Objective C и затем изменить HTML соответственно.Но могу ли я положить его прямо в HTML?Поэтому, если пользователь щелкает ссылку на iPhone (или iPod Touch), он переходит на

http://link-for-iphone-users.com

Но если он щелкает ту же ссылку на iPad, он вместо этого переходит на

http://link-for-ipad-users.com

РЕДАКТИРОВАТЬ: Чтобы уточнить, HTML-вопрос поставляется с приложением.Если обнаружение html - беспорядок, я просто пойду по UIDevice.

Ответы [ 4 ]

2 голосов
/ 27 декабря 2011

Было бы проще просто выполнить обнаружение на устройстве с помощью вызова [UIDevice currentDevice] .model, описанного в ответе Джека Лоуренса.

Если вы действительно хотите использовать один URL, вы можете обработатьобнаружение на стороне сервера путем просмотра строки агента пользователя в заголовках HTTP запроса, который пользователь отправляет на ваш URL.Запросы с iPad выглядят примерно так:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

Обратите внимание на обозначение "iPad".

Вы можете написать свой веб-сайт, чтобы проверить пользовательский агент на предмет информации об устройстве, а затем перенаправить по мере необходимости..

1 голос
/ 27 декабря 2011

Я не уверен, что вы пытаетесь сделать здесь, но я собираюсь предположить, что HTML-код загружен на устройство извне.

Если это так, вы можете получить строку агента пользователя и установить соответствующую ссылку, используя javascript (или на стороне сервера, как очень хорошо сказал Hivebrain).

Строка пользовательского агента для iPad может выглядеть примерно так:

Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10

iPhone один может выглядеть так:

HTTP_USER_AGENT=Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3

Вы можете получить строку агента пользователя, используя navigator.userAgent. Имея это, должно быть легко написать простое условие if, которое проверяет пользовательский агент и соответственно устанавливает ссылку.

С другой стороны, если HTML не загружается внешне на устройство, я лично не вижу смысла в том, чтобы ставить условие прямо в HTML.

Некоторые ссылки:

http://www.htmlgoodies.com/beyond/webmaster/toolbox/article.php/3888106/How-Can-I-Detect-the-iPhone--iPads-User-Agent.htm

Что такое пользовательский агент для iPad?

http://www.w3schools.com/jsref/prop_nav_useragent.asp

0 голосов
/ 27 декабря 2011

На iPhone или iPod Touch:

UIDevice *device = [UIDevice currentDevice];
NSString *systemName = [device systemName];

Чтобы определить версию ОС:

UIDevice *device = [UIDevice currentDevice];
NSString *systemVersion = [device systemVersion];
0 голосов
/ 27 декабря 2011

Ознакомьтесь с документами UIDevice класса.

NSString *deviceType = [UIDevice currentDevice].model;

if([deviceType isEqualToString:@"iPhone"])
    // set url to an iPhone url
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...