Dashcode 区分 iPad 和 iPhone 浏览器
Posted
技术标签:
【中文标题】Dashcode 区分 iPad 和 iPhone 浏览器【英文标题】:Dashcode Distinguish Between iPad and iPhone Browser 【发布时间】:2010-12-17 19:27:51 【问题描述】:我试图弄清楚如何让 Dashcode Web 应用程序区分 iPhone 浏览器和 iPad 浏览器。这方面的一个工作示例是Apple iPad User Guide。 iPad 将显示一个流畅的 dashcode 内置界面。 iPhone 被重定向到网页。
我在Howto force DashCode question找到了一些帮助。
我正在编辑 redirector.js 文件。下面强制 iPad 使用 Dashcode 构建的 Safari 布局,而不是 Mobile 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"];
感谢您的任何建议。
【问题讨论】:
【参考方案1】:测试 window.navigator.userAgent。它将包括 iPad 上的 iPad 或 iPod touch 上的 iPod。
var oniPad = /iPad/.test(window.navigator.userAgent);
【讨论】:
嘿。这次真是万分感谢。我最终最终使用了一些不同的东西,但你的回答让我走上了正确的道路。我的部分问题是混淆了我的 Objective-C 和 javascript。哇!【参考方案2】:我最终使用了一些基于this post at ScottRockers blog 的代码。感谢 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"];
【讨论】:
【参考方案3】:我修改了我的 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"];
【讨论】:
以上是关于Dashcode 区分 iPad 和 iPhone 浏览器的主要内容,如果未能解决你的问题,请参考以下文章
为不同的设备/分辨率使用不同的图像,例如如何使用波浪号 (~) 来区分 iPhone 和 iPad?