Вопрос

Я пытаюсь выяснить, как получить веб -приложение Dashcode, чтобы различить браузер iPhone и браузер iPad. Рабочий пример этого - это Руководство пользователя Apple iPad. Анкет IPad отобразит скользкий встроенный интерфейс Dashcode. IPhone перенаправляется на веб -страницу.

Я нашел некоторую помощь в Вопрос о том, как применить инструмент.

Я редактирую файл redirector.js. Следующее заставляет iPad использовать макет сафари, созданный Dashcode, вместо мобильного Safari, что я хочу. Когда он просмотр с iPhone, он возвращает ошибку, не найденную.

// redirect to the more appropriate product
if (DCProductURLs["mobileweb"] && DCshowiPhone) {
    // Changed case so that the Safari layout is displayed on iPad
    // window.location.href = DCProductURLs["mobileweb"];
    window.location.href = DCProductURLs["desktop"];
}

Спасибо за любые предложения.

Это было полезно?

Решение 2

В конечном итоге я использовал какой -то код на основе Этот пост в блоге Scottrockers. Анкет Спасибо ughoavgfhw за то, что я поставил меня на правильный путь.

if ((navigator.userAgent.indexOf('iPad') != -1)) {
    window.location.href = DCProductURLs["desktop"];
}

if ((navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1)) {
    window.location.href = DCProductURLs["mobileweb"];
}

Другие советы

Тестовое окно.navigator.useragent. Он будет включать iPad на iPad или iPod на iPod Touch.

var oniPad = /iPad/.test(window.navigator.userAgent);

Я изменяю свой файл redirector.js и делаю именно то, что вы хотите, возможно, не лучший способ сделать это, но он работает, вот мой код, я надеюсь, что это работает для вас:

var DCProductURLs = {
    "mobileweb": "../mobile", 
    "desktop": "../safari"
};

var DCshowiPhone = RegExp(" AppleWebKit/").test(navigator.userAgent) && RegExp(" Mobile/").test(navigator.userAgent);

var DCqs = window.location.search.substring(1);
if ((DCshowiPhone && DCqs.length > 0)||screen.width>1000) {
    var components = DCqs.split("&");
    for (var f = 0; f < components.length; f++) {
        if (components[f] == "p=desktop") {
            DCshowiPhone = false;
            break;
        }
    }
}

// redirect to the more appropriate product
//var device= 
if (DCProductURLs["mobileweb"] && DCshowiPhone && screen.width<=960) {
    window.location.href = DCProductURLs["mobileweb"];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top