Dashcode различает браузер iPad и iPhone
-
11-10-2019 - |
Вопрос
Я пытаюсь выяснить, как получить веб -приложение 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"];
}