Определить iPad (или iOS) только для одного изменения - PullRequest
4 голосов
/ 08 февраля 2012

Я просмотрел множество постов и нашел довольно много скриптов, которые перенаправляют устройства iOS на другую страницу. Но я не хочу менять всю страницу, только одну ссылку.

Весь сайт (www.example.com) отлично работает на устройствах iOS и содержит одну ссылку на страницу приложения на основе флэш-памяти (на другом хосте - app.example.com). Это конкретное приложение имеет версию iOS для использования на iPad. Когда щелкают ссылку, я просто хочу, чтобы пользователи компьютеров отправлялись на страницу приложения flash, а пользователи iPad - на страницу (на www.), Которая рассказывает им о приложении iOS.

Я представляю что-то вроде:

Используйте скрипт обнаружения iOS в голове, чтобы установить для переменной «isiPad» значение «true», если пользователь находится на iPad. Тогда в теле что-то, что будет функционировать как:

если 'isiPad' = true, тогда

<a href="http://www.example.com/useiOSapp.html"> Run the App </a>

в противном случае

<a href="http://app.example.com/flash-app-page.html">Run the App</a>

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Html

<a id="myLink" href="">Run App</a>

Javascript

$(document).ready(function($){
    var deviceAgent = navigator.userAgent.toLowerCase();
    var agentID = deviceAgent.match(/(iphone|ipod|ipad)/);
    if (agentID) {
        $('#myLink').attr('href', 'http://example.com/useiOSapp.html');
    }else
     { 
         $('#myLink').attr('href', 'http://example.com/flash-app-page.html');
     }
});
1 голос
/ 08 февраля 2012

Вы можете запустить это через htaccess и переписать URL.

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^http://example.com/flash-app-page.html$ http://example.com/useiOSapp.html [R=301]

В качестве альтернативы, вы можете объявить это как js var:

var isiPad = navigator.userAgent.match(/iPad/i) != null;

, а затем при готовности вызвать функцию, котораяпереписывает URL-адрес ... jquery версия:

$(document).ready(function(){
    if(isiPad)
    {
        $('#link_id').attr('href', 'http://example.com/useiOSapp.html');
    }
});

(предполагается, что вы также даете своей ссылке идентификатор "link_id")

...