<script type="text/javascript">
<!--
if (screen.width <= 699) {
document.location = "mobile.html";
}
//-->
</script>
“mobile.html” 将被替换为您的移动版本所在的地址。此技巧也可以用于加载备用样式表。
专门针对 iPhone/iPod
<script language=javascript>
<!--
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
location.replace("http://url-to-send-them/iphone.html");
}
-->
</script>
简洁明了!谢谢
非常感谢 @anon。我发现它也非常有用。
没有 Safari
我的 iPhone 上的 Safari 运行正常,如果您在台式机上使用 Safari,您就遇到了更大的问题。
运行良好
如果手机不能使用 JavaScript 该怎么办?
您是否获得了问题的答案?我也有同样的担忧。
Reuben
使用 PHP!!!:D
我使用这个
您需要将页面扩展名从 .html 或 .htm 更改为 .php,以便服务器知道要处理脚本。此外,这需要在 <html 标签之前 - 即页面上的第一行。要添加设备,只需将其添加到 mobileDevice() 函数下的 if 语句中即可
function mobileDevice()
{
$type = $_SERVER[‘HTTP_USER_AGENT’];
if(strpos((string)$type, “Windows Phone”) != false || strpos((string)$type, “iPhone”) != false || strpos((string)$type, “Android”) != false)
return true;
else
return false;
}
if(mobileDevice() == true)
header(‘Location: http://www.m-tek.biz/mobile.html‘);
它应该适用于主要智能手机(如 iPhone、Driod、Blackberry 等)。如果手机无法读取 Java,那么除非您的网站只有文本,否则它也无法读取您的网站……但此链接有许多不同的方法,例如 PHP
http://www.stepforth.com/resources/web-marketing-knowledgebase/redirect-mobile-iphone-visitors-mobile-content/#.T75jTLd5mc0
此代码在禁用了 JavaScript 的手机或浏览器上不起作用。但是如今大多数智能手机用户都启用了 JavaScript。
但是那些不支持 JavaScript 的设备呢?
如今大多数设备都具有 JavaScript 功能。
在 iPad/iPhone 版本中。
应该是这样吗……
“navigator.userAgent.match(/iPod/i” 或
“navigator.userAgent.match(/iPad/i” ????
它说 iPod/iPhone 版本,根本没有 iPad
Rails 应用程序的 JavaScript 怎么样?因为它不适用于移动应用程序?
这非常有效!
有一点:移动用户登录网站后,会将其带到移动网站。我想让他们能够访问完整版本的网站。但是当然,当他们单击链接时,它会将其重定向到移动网站。
任何帮助都将不胜感激!
您是否获得了对此的回复?我也有同样的疑问。
为什么不克隆非移动网站(不含 JavaScript 移动重定向)并将其命名为 index1.html,然后将其作为移动网站的链接?
我使用了克隆方法(由 Geoffrey Freedom 提供),它非常有效,我只对主页进行了克隆,因此 “index1.html” 没有 Flash,因此手持设备可以使用 jQuery 如果他们使用的是完整网站,则可以显示我使用的图像。
Google 会因重复内容而进行处罚,因此在克隆您的索引(或任何页面)时,可能需要创建一种新的页面内容编写方式。
对于克隆的网站,您只需在克隆网站上添加 no follow 元标记即可。这样 Google 不会对您进行处罚。
设置 cookie。
与 cookie 的交互可以保存用户是否想要移动网站或完整网站的值,或者仅使用 cookie 的存在来继续执行函数或退出。
将您的切换器包装在 if/then 语句中,如果用户选择转到完整网站,它会设置 cookie 并重新加载。重新加载将运行 if/then 切换器,但通过添加一行来检查 cookie 是否存在,这意味着如果存在,则用户选择加入完整网站并退出移动网站,发送到移动页面或移动网站在此停止,不会重复内容,可以节省您的 Google 排名,要撤消 no-mobile,他们只需清除 cookie 即可。没有 cookie?然后用户检测会运行,选择移动网站或完整网站,直到用户决定不再选择为止。
这有点像将旧方法与新方法结合在一起,但它确实让您为每个用户设置了一个参考点,而无需为假设情况构建一个完整的冗余网站……
如果您还没有解决这个问题。为了解决这个问题引起的循环问题,您需要克隆 index.htm 文件并将其命名为 index1.htm。然后,当按下完整网站按钮时,该页面就是目标页面。
太简单了!
我认为克隆索引还有其他问题。我发现最好的简单解决方案(不涉及 cookie)是在脚本中设置另一个 if 语句
if <screen.width <= 699) {
if (document.referrer.indexOf(‘mobile.html’) == -1){
document.location = “mobile.html”;
}}
用英语来说,就是
“如果屏幕宽度小于 699 像素,”
而且我还没有从移动页面访问,”
将我发送到移动页面”
感谢 Shawn Taylor - 您的解决方案非常有效!
这对我不起作用,我应该如何放置它?
if <screen.width <= 699) {
if (document.referrer.indexOf(‘mobile.html’) == -1){
document.location = “mobile.html”;
}}
抱歉,我在评论中的代码具体内容搞错了……就是这样
啊 - 还是搞错了,而且我看不到如何编辑评论 - < 应该是小于符号……我会再试一次
ps - 有人知道如何编辑评论吗?
这是我的样子,没有返回台式机,运行正常。当我添加 “台式机网站” 链接时,就会出现问题。提前感谢您的关注。
<!–
if (screen.width <= 699) {
document.location = "http://site.com/mobile/";
}
if (screen.width <= 699) {
if (document.referrer.indexOf(‘http://site.com/mobile/) == -1){
document.location = “http://site.com/mobile/”;
}}
嘿,Josh,
看起来你两次运行了重定向,第一次没有二级 if 语句,所以它会始终重定向。你需要只运行一次,使用“如果来自移动设备,不要重定向到移动设备”的 if 状态,即 if (document.referrer.indexOf(‘http://site.com/mobile/) == -1)… 希望这有帮助。
嘿,Nate,我只是在移动网站上放了一个链接到桌面网站,所以如果有人想用手机访问,他们可以。效果很好。
如果用户点击移动网站上的链接并进入经典网站,你就会设置一个 cookie。
在经典网站上,你首先读取 cookie,只有在 cookie 不可用时,你才会重定向移动用户。
此致
我也遇到了这个问题!如果你解决了这个问题,请告诉我。
不再使用 Mobify?你应该写一篇关于移动网站的文章;)
谢谢你们!!!!!
太棒了……一个简单、优雅的解决方案……谢谢……
如何包含 Android 手机?
在 Android 手机上运行良好。
可能需要进行一些小的修改……考虑到 Galaxy Nexus 以及任何即将推出的具有 720p 分辨率屏幕的 Android 手机。我相信 OP 中的上述代码最终会将 GNex 用户重定向到网站的桌面版本。虽然 720p 分辨率很好,但屏幕本身仍然太小,无法在手机上使桌面网站浏览体验变得愉快。
好文章,
还可以尝试查看我的名为“redirection_mobile.js”的脚本。它会检测用户代理,如果你从移动设备访问网站,则会重定向到移动版本。
在某些情况下,你可能想要从移动设备重定向到桌面版本(比如使用“转到主网站”的链接),脚本会处理这种情况,完成会话后,你将再次访问移动版本。
你可以在 Github 上找到源代码:https://github.com/sebarmeli/JS-Redirection-Mobile-Site,你也可以在我的其中一篇文章中阅读更多详细信息:
http://blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/
谢谢你的代码。我已经在 iPhone 4 上试过了,效果很好,但不知何故,它在 HTC Desire HD 上不起作用 - 它直接转到完整网站。有没有修复方法?谢谢!
太棒了!
感谢发布链接。我在 css-tricks 上尝试了这个解决方案,效果很好。但你的 js 解决方案给了我更大的控制权,这正是我将网站链接回完整版本所需的。
谢谢!
嗨
sebarmeli
我是编码新手……我尝试了这段代码
<!–
if (screen.width
… 使用这段代码,网站完美地跳转到移动版本,但通过点击链接(比如“转到主网站”的链接),但它不会返回到网站的完整版本。我还尝试了你在帖子中的链接中提供的建议……但我无法从移动版本中的移动设备中将网站还原为完整网站。
请给我一个简短的解释和建议,说明如何成功执行从桌面到移动和从移动到桌面版本的网站切换。
嗨,这太酷了,谢谢兄弟
黑莓解决方案怎么样?
提前谢谢。
你找到黑莓解决方案了吗?任何人都可以帮忙,任何帮助都将不胜感激。
我的黑莓 Curve 使用上面的简单代码运行得很好。
非常感谢!!!
我整天都在寻找这段代码!:D
太棒了,谢谢
更改为
window.location
后,它就起作用了!谢谢!不错。谢谢,这在我的 iPod 上有效,但在 iPad 上无效。
iPad 适用于常规网站,因为屏幕足够大。
谁能列出这个脚本适用于哪些移动设备?
谢谢。
它适用于任何屏幕宽度小于 699 像素的设备。这包括具有视网膜显示屏的 iPhone/iPod 4g。你可以将 699 调整为更高的数字,但我不会这样做,因为旧的显示器宽度为 700。
如果你要针对 iOS 设备,可以使用第二个,编辑
—
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
—
为
—
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || navigator.userAgent.match(/iPad/i))) {
按照标准,它适用于任何屏幕宽度小于 699 且启用了 JavaScript 的设备。但总有例外。(例如,IE6 中的 CSS3)。
嘿,Mooseman,
我尝试将你的代码替换到这段代码中,以便它在 iPad 上工作,但我这样做时,Dreamweaver 告诉我编辑的行存在语法错误。有什么建议可以解决这个问题吗?非常感谢。
Steve
这种重定向对 SEO 友好吗?
在为移动网站实施此功能后
我的谷歌排名下降了,我想知道这是否影响了我的 SEO
据我所知,代码位于全屏网站上,它只是重定向,因此手机不需要使用 java。
很棒的小技巧!谢谢,我将在我的 Tumblr 博客上使用它。:)
有人知道如何通过 .htaccess 解决吗?
嗨,
如何将……desktop/page1.html 重定向到……mobile/page1.html,……desktop/page10.html 重定向到……mobile/page10.html……等等……超过 300 个页面。
所以不只是重定向到……mobile/index.html
感谢你的帮助
如果通过 Location 对象重定向,你将丢失原始请求中的 HTTP 引用程序。这意味着你所有来自移动设备的流量将在你的分析中显示为直接流量。
我认为首选服务器端检测。一些选项
http://detectmobilebrowser.com/
http://wurfl.sourceforge.net/
非常感谢你!运行完美,而且非常简单!!!
这真是一份很棒的作品!我找了很久才找到我们需要的东西。
太有帮助了,谢谢!
JavaScript 完全不起作用……所以我决定使用 .htaccess 文件来重定向移动设备。
http://stackoverflow.com/questions/3680463/mobile-redirect-using-htaccess
考虑一下,如果有人不想重定向到您网站的移动版,请在移动版上实现一个“常规网站”按钮。
非常感谢您提供这段 JavaScript 代码!
非常感谢您提供这段简单的代码 :)
我会选择媒体查询……这样我就可以用 CSS 处理它,而且我不需要第二个 (?) 网站,它具有相同的结构和(可能)内容 :-)
关于此应用程序的良好服务器端(PHP)脚本可以在以下位置找到
http://code.google.com/p/php-mobile-detect/
isAndroid(), isBlackberry(), isOpera(), isPalm(), isWindows(), isGeneric()…
还有 isIOS 模式?
太棒了,非常感谢,帮了我很大的忙!
需要一个像这样的脚本给客户。工作完美。现在他们可以在移动设备上使用我们网站上的工具,而不是整个网站。太棒了。
感谢您提供快速简单的解决方案!
很棒的代码,感谢您的提示……
我粘贴了代码,当我用 iPod touch 加载页面时,我得到“页面未找到”……有什么建议吗?
很棒的脚本 - 谢谢
我无法告诉你我第一次尝试它时它真的起作用了有多开心,感谢您让我的生活变得如此轻松!!!
谢谢!很棒的脚本,简单的解决方案,喜欢它。
另一个使用 PHP 的解决方案可以是
<?php
if(strstr($_SERVER[‘HTTP_USER_AGENT’],’iPhone’) ||
strstr($_SERVER[‘HTTP_USER_AGENT’],’iPod’))
{
header(‘Location: http://www.domain.com/iphone‘);
exit();
}
else if(strstr($_SERVER[‘HTTP_USER_AGENT’],’iPad’))
{
header(‘Location: http://www.domain.com/ipad‘);
exit();
}
else{
header(‘Location: http://www.domain.com/web‘);
exit();
}
?>
您可以为其他用户代理添加“else if” 选项。当然,它在支持 PHP 的服务器上有效。
此致。
感谢您提供 PHP 版本!!!
很棒的脚本。我已经使用它几个星期了,对所有使用它的人都有效,但对一个人除外。他有一部 iPhone 4,它一直在给他旧的登录页面。脚本没有重定向他。
我问他是否关闭了 JavaScript,他说没有。奇怪的是,链接之前对他有用。我想知道他的缓存、cookie 或历史记录是否搞砸了?
之前有人遇到过这样的问题吗?
网站是 http://www.criticalpr.com
如果我有一个 iPhone 主页、一个 Droid 主页和一个电脑浏览器主页,为了将访问者发送到三个方向之一,我是否应该像这样插入脚本
<!–if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { location.replace(“http://url-to-send-them/iphone.html”);}–>
<!–if (screen.width
??
当我尝试添加 Android 时,我的 iPad 无法重定向。
我的代码是
有什么想法吗?
这是错误。
您救了我的命!谢谢!!
这种技术非常直观,但 PHP 检测/重定向效率更高。查看以下网站以获取完整的检测/重定向,以及查看完整网站的选项
http://www.squidoo.com/php-mobile-redirect
这有点奇怪,但有没有办法反过来做。我已经构建了一个移动网站,我想将访问者从这个 URL 重定向到另一个网站。
Dave,
您可以使用 .htaccess 重定向。但我有点不明白你到底想做什么。你想将所有访问你移动页面的用户重定向到另一个网站吗?
我使用 WordPress 构建了一个仅供移动用户使用的网站。由于与节日的合同……我需要将桌面用户发送到主网站,而不是我创建的移动网站。
我想如果我不宣传 URL,这就不重要了,他们可以将移动用户从他们的网站重定向到我的网站。
但我想无论如何我都希望没有人通过台式机访问我创建的移动网站。
Dave
Dave,这里有一个简单的 PHP 解决方案
<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.new-url.com” );
?>
您救了我!这真是太棒了,对我来说,作为一个“非开发人员”,这太棒了,当我刚刚“推出”我们活动的移动网站时!再次感谢!
正是我要找的 ……..
这非常有效……但我如何才能将用户从他们的移动设备重定向回主网站,如果他们想查看网站的桌面网页版?谢谢。
当他们访问移动网站时设置一个 cookie,并在重定向之前检查该 cookie。
完整的 PHP 重定向/查看完整网站解决方案可以在以下位置找到
http://www.squidoo.com/php-mobile-redirect
感谢 Matt……这个 PHP 脚本非常卡顿。我已经正确地实现了所有内容,但有时它会重定向到移动网站,有时它不会。此外,似乎从移动版重定向到完整网站的唯一方法是使用带有 http://www.yoursite.com// 的链接,链接末尾有两个斜杠(很奇怪,不知道为什么)……
一个问题:在您提供的链接中,文章提到了这行代码
我应该把它放在哪里?
非常感谢。
那放在你的移动页面上。当你想查看完整网站时,它会设置 cookie 以绕过移动重定向。
那放在你的移动页面上。当你想查看完整网站时,它会设置 cookie 以绕过移动重定向。
我还没有看到它表现得卡顿。您提到的代码应该放在移动首页上。这是设置 cookie 以在您尝试查看完整网站时覆盖移动重定向的 PHP 代码。
我发现最好的方法是;
//
??
你也可以检查用户浏览器是否接受 WML 的 MIME 类型。如果可以,那么它可能是一个移动设备。然后就不需要担心 JS 了。
不错的脚本。你把这个 js 代码放在文档的什么位置?是放在 head 里面,还是 body 里面,或者其他地方?
任何地方...
我认为这个 JS 应该放在 head 里面,在所有全站 CSS 和内容之前,这样就可以在加载不必要的文件之前重定向。这在移动设备上可能很慢,并且会占用宝贵的 KB 传输量。
我有一个稍微不同的解决方案,我会在明天在这里发布。这是一种不同于这个很棒的片段的方法,但它为人们一直在要求的功能提供了一个小助手。
很棒的东西,CHRIS,谢谢!!
这是我找到的最好的 JavaScript 移动重定向。它相当完美,并处理所有 cookie,在移动版和完整版网站之间来回重定向。而且它像你上面的脚本一样通过屏幕宽度来实现。
https://github.com/miohtama/detectmobile.js
我想问一下关于“滑动解锁”的问题。我希望在解锁后页面重定向到另一个页面。
抱歉在这里问这个问题,解锁器主题被关闭了,所以我就问在这里了。
我解决了。
有人能告诉我如何将滑块放到左侧吗?请。
这似乎是一种不好的方法 - 你要么强迫你的移动用户访问一个你主站点的子集,而他们对此无能为力,要么你把这个代码片段放在每个页面和每个新页面中,以便重新路由到移动版等效项?我想这对于小型网站来说是可行的,但对于其他情况,请考虑其他方法。
基本问题:如何管理和更新移动版子域名,以便用户可以选择在网站的移动版和桌面版之间切换?换句话说,如何确保两个网站上的内容相同,只有布局发生变化?还是我必须手动更新和上传桌面版网站,然后手动更新和上传移动版网站?
我喜欢我的方法 :D
在 “namen” 数组中,你可以添加任意数量的类型,只要这些名称中任何一个出现在设备浏览器的 UserAgent 中,它就会返回 true。
你必须将它转换为 .js 吗?我收到数据库错误。
这是一个更深入的 Javascript 解决方案,作为库提供
detectmobile.js
阅读文档以获取一些已发布问题的答案。
效果很好:我在以下页面上尝试过它:http://www.muqstuff.weebly.com 它完美地重定向,但如果希望代码在页面加载之前激活怎么办?对我来说,页面先加载,然后重定向,有没有办法解决这个问题?
我们是一群志愿者,正在社区中开展一项新的计划。你的网站为我们提供了宝贵的信息。你做得非常出色,我们整个社区都会感谢你。
大家好,我是新手,
每个人都在谈论重定向到移动版网站
但如果我想在访问者尝试在 PC 上查看你的 WebApp 或移动版网站时重定向他们怎么办。
我希望从
http://www.mobile.domainname.com
手动访问的 PC 用户重定向到
http://www.domainname.com
有人可以做到吗?
评论永久链接#
评论永久链接#
评论永久链接#
有没有针对不能显示 Flash 的黑莓设备的解决方案?
我使用了这段代码,它在 iPhone 上运行良好,但在
旧黑莓机上不行..
任何帮助都将不胜感激..
评论永久链接#
评论永久链接#
你需要复制首页,并删除检测
评论永久链接#
这种技术可以被改用来加载一个备用样式表。
嗨!似乎没有人提到这个选项,有没有什么地方有示例?
评论永久链接#
您好,
脚本似乎在 Android 设备上运行,但在 iPhone 上它会跳转到 Android js 的同一个 URL。有没有其他人遇到过这种情况?似乎
Android 代码正在被读取,而
UserAgent 代码根本没有被 iPhone 读取。有什么想法吗?
评论永久链接#
评论永久链接#
评论永久链接#
评论永久链接#
评论永久链接#
评论永久链接#
评论永久链接#
我在 WordPress 网站的 header.php 文件中使用了上面的脚本,它完美地重定向到我的移动版网站。
现在,究竟如何让移动用户访问桌面版网站(如果他们愿意)?上面的其他用户发布了很多有用的信息,但我像我这样“菜鸟”的人,这些信息帮不上忙,因为我不知道要更改哪个文件等等。
我需要的是一种方法,让移动用户(m.mydomain.com)在他们选择的情况下能够切换回桌面版网站(mydomain.com),而不会一直循环重定向回移动版网站。
嗨,
我计划使用我的网站的 WordPress/博客 URL,使用插件轻松创建我的 Dreamweaver 网站的移动版本)。然后,我可以键入“/wordpress”而不是“mobile.html”来将移动用户重定向到 WP 移动网站,如下所示吗?
<!–
if (screen.width
大家好,
我正在使用原始脚本运行移动重定向,它运行得非常出色,除了我无法弄清楚如何将其重定向到子域,而不是主域中的 html 文件。当文档位于子文件夹(即:mobile/index.html)中时,文档位置行似乎不起作用。
请帮忙?我认为这是一个简单的修复。
#notacoder
我正在尝试使用以下版本的脚本。
<!–
if (screen.width
嗨 Mae,是的,将其定向到 /wordpress 会正常工作。
很抱歉再次询问,但我真的很需要帮助……
评论永久链接#
现在,确切地说,如果他们愿意,我该如何让移动用户访问桌面版,而不会一直循环回到移动网站?我确信,上面发布了来自其他人的很多有用信息,但对于像我这样“菜鸟”的人来说,它没有帮助,因为我不知道要更改哪个文件等等。
现在,究竟如何让移动用户访问桌面版网站(如果他们愿意)?上面的其他用户发布了很多有用的信息,但我像我这样“菜鸟”的人,这些信息帮不上忙,因为我不知道要更改哪个文件等等。
我需要的是一种方法,让移动用户(m.mydomain.com)在他们选择的情况下能够切换回桌面版网站(mydomain.com),而不会一直循环重定向回移动版网站。
嗨,各位。
这段代码在我的网站上不起作用……或者我的 LG Android 上……
有人能写一些它正常工作的 URL,以便检查……
UserAgent 代码根本没有被 iPhone 读取。有什么想法吗?
我认为避免使用浏览器 JavaScript 重定向到移动网站,最好使用 HTTP 服务器重定向,这样可以避免页面加载时间。
感谢大家,我在 http://detectmobilebrowsers.com/ 上看到了代码,但不确定它是否很好,在阅读了这个主题后,我尝试了它,它成功了!我想让我的移动用户能够退出移动网站并查看完整网站(如果他们愿意),所有其他解决方案要么让他们停留在移动网站上,要么我必须让每个人都登陆一个页面来选择移动网站和常规网站,包括电脑用户。这是一个很棒的解决方案!电脑访问我的完整网站,移动用户访问移动网站,我也有从一个到另一个的链接,这样每个人都可以选择查看另一个版本(如果他们愿意)……
谢谢,聪明又简单!
一个不应该犯的错误是将 IF 语句放在文档加载内部。这会导致的问题是,如果要在某些手机上使用后退按钮,最终会出现在主网站上,而没有 document.location 更改,因此用户无法返回到移动网站。
基本上,我在主网站 JavaScript 文件的 document.load 内添加了代码,这会导致此错误。然后我删除了 document.load 包裹,一切都变得很好。
谢谢!:D
嗨 Mark,
你刚刚描述了我正试图解决的问题。你能更详细地描述你是如何解决它的吗?我充其量只是一个新手,正在寻找一个简单的解决方案。谢谢!
Matt
定义简单 :-D
因此,当用户登陆桌面版本时,我会在行内运行上述分辨率 IF 语句,因此没有“$(document).ready(function(” 围绕代码。因此,只需将上述代码放在网页的顶部即可。或者在你的 JavaScript 文件中,像这样
但在我的设置中,它略有不同。一旦用户在移动子域上,我使用 jquery.cookie.js 配置了其余流程,因为子域到主域的 cookie 访问是允许的,但主域到另一个主域是不允许的。
如果用户实际上更愿意查看桌面版本,他们会点击“查看桌面版本”,这会创建一个名为:mobile 值为:off 的 cookie。然后重定向到桌面域。在此域上完成的最终检查将是另一个内联运行的 IF 语句,检查 cookie 是否存在且值为“off”。
我必须强调,如果可能的话,我会使用响应式布局来节省重复内容/工作量,但这对我正在做的项目来说不是一个选择。
嗨,
我正在使用它来测试我的概念证明,它对 iPhone、Android 和 Windows Mobile 有效。有人找到黑莓的解决方案了吗?
谢谢,
您好 Joe
我之前使用以下脚本,但不确定它适用于哪些型号(这是很久以前为一个移动网站构建的,当时还是用表格!:-P),因此你需要做一些测试,但你明白我的意思。
这是否适用于已被 Facebook“嵌入”的页面?我之所以这么问,是因为目前 Facebook 选项卡(Facebook 页面内的页面)在移动设备上无法解析。每个 Facebook 选项卡都有一个唯一的 URL。但是,当使用移动设备时,Facebook 会将这些 URL 重定向到 Facebook 登录页面;用户登录后,会显示 Facebook“页面未找到”错误。相反,我希望移动用户能够被重定向到 Facebook 之外的克隆页面,该页面将显示。有没有人对此有经验?
我在 Genesis 主题的头部尝试了这段代码。我在智能手机上用 Google 搜索时,发现“没有找到”。(移动页面在浏览器中测试时有效。)有什么想法吗?
平板设备的屏幕宽度是多少?我想将用户从桌面版重定向到 tablet.html。谢谢!
太棒了!简单!非常感谢
对我来说不起作用……我的 Droid Incredible 报告说 screen.width = 1024。
太多极客,没有合法的解决方案!Dip$3!t 论坛。1-2-3- GO!
大家好,我是新手……
请帮帮我……
1)我有一个主域名(newsct.com)和一个子域名(m.newsect.com)
2.) 我正在使用
A1) @import url(“screen.css”) screen;
A2) @import url(“mobile.css”) handheld;
A3) @import url(“print.css”) print;
重定向 css……
B) 只有一个名为 (index.php) 的索引页面
3) 现在我希望我的访问者可以使用“子域名”通过桌面浏览器浏览 (mobile.css)(就像在桌面上的 m.facebook.com 一样)
而访问者可以使用“主域名”通过移动浏览器浏览 (screen.css)。
谢谢。
抱歉我的英语不好。
嗨 Ahmed,
你需要使用第二个黑色方框中提到的 JavaScript 这里。此 JavaScript 需要添加到网页:newsct.com/index.php
你需要创建一个带有链接的移动样式表的另一个 index.php,并将它上传到 m.newsect.com/index.php。
供你参考……
(你在这里把自己搞糊涂了。媒体分辨率查询是为了让你的访问者不会被重定向到你的移动子域。这些查询的作用是简单地包含样式表以适应较小的屏幕。如果你将访问者重定向到移动域,那里有一个带有链接的移动 css 文件的另一个索引页面,则不需要这种方法)
嗨!Mark,
感谢你的回复,
我会尝试你所说的……
运行良好:) 非常简单,非常有用 >>> 谢谢
我使用的是 Nokia C7
使用 JavaScript 的优雅解决方案!这里有一篇文章介绍了使用 PHP 进行移动检测和重定向…… http://www.mlynn.org/2010/06/mobile-device-detection-and-redirection-with-php 以及我写的一篇介绍 Perl/CGI 的文章…… http://www.mlynn.org/2010/07/mobile-device-detection-and-redirection-with-perl-and-cgi
享受!
Mike
请您提供一个备用样式表的示例
谢谢,javaScript 工作良好,检查屏幕宽度的概念很有趣,只是有点担心它在不久的将来可能需要更新,因为这些移动屏幕获得了更高的分辨率。
我也有点担心这个问题。到目前为止,我认为只有一款 HTC 需要担心。我的想法是,如果设备具有高分辨率屏幕,则将其视为大屏幕设备并显示桌面版网站。理想情况下,响应式设计可以解决这个问题,但不幸的是,现在并非所有构建都可以使用它。
不是所有版本*
有人在.aspx上尝试过这段代码吗?
我一直试图找到一个不使用.access文件的脚本。
我尝试在我的主文件中使用这段代码,但它不起作用。
任何建议都将不胜感激。
谢谢
嗨,
如果你想要一个简单的代码来重定向到多种设备,例如功能手机、智能手机、BB、iPhone、iPad、Tab、Kindle、PSP、任天堂Wii,你应该访问这里
https://github.com/sebarmeli/JS-Redirection-Mobile-Site/tree/3e42b4e5a93d5cf39dcd1339e947c89d45741a21
我使用它,它正好满足我的需求。用户从谷歌访问我的网站:example[dot]com/page_1 将被直接重定向到我的移动网站:m.example[dot]com/page_1 等等
我怎样才能切换移动版本以查看完整网站?但我已经在我的首页上放了这段代码。
有几种方法,但我认为第二个“if”语句检查你来自哪里是最简单的……查看我之前的评论以获取代码(第三次尝试——我在前两次尝试中把代码写在评论里,结果很笨拙)。
你不需要使用单独的用户代理匹配。只需用“|”分隔用户代理……像这样……
if ((navigator.userAgent.match(/iPhone|iPad|iPod|Windows Phone/i)))
……然后你可以根据需要添加任意多个,而不会让脚本变得太长。
评论永久链接#
这段简单的代码为什么不起作用?我已经把它粘贴到我的index.html文件中的第一个JavaScript代码中。但它似乎不起作用。
此致,
Jeremy
嗨,Jeremy,你链接到jQuery文件了吗?并检查了验证/Firebug错误吗?
只是想让大家知道,我拥有新的三星Note,它在800像素宽度下工作,所以我必须更改我的代码为
不确定测试分辨率是否足够准确……
我发现这段原生JS(不依赖于jQuery)代码非常可靠
谢谢!谢谢!谢谢!
据我测试,它在安卓和苹果设备上运行得很好。
在我看来,它比基于像素宽度的解决方案更好。
其他移动设备用户请测试这段代码
Windows Mobile
Blackberry
Palm
Codemonkey,我想问一下,“mini”和“\sce”标签是什么意思?
它们针对哪些设备?
这段代码对我来说很好用,但有没有办法修改它,允许从移动网站重定向回完整网站?
有人可以给我一个实际包含这段代码的首页,以便我查看它的实际运行方式以及它的插入方式吗?我似乎无法让它正常工作。提前感谢。
谢谢!运行完美!
如果它只工作了——但它没有。你可以设置Safari浏览器查看移动网站,而这个重定向根本不起作用。具有正确重定向的PC网站的URL在Safari中会正确显示移动页面视图。它不起作用!
这个库非常棒,用于移动检测,并且使用起来非常简单..
http://mobiledetect.net/
这个效果很好。非常感谢。:)
“<screen.width <= 699”
错误!你不能再依靠小于699像素来判断设备是否为移动设备,因为2012年的手机分辨率要高得多,但屏幕仍然相对较小。
甚至iPad mini也有1024像素,所以按照这个逻辑,它就不会显示移动网站。
你们必须测试的不仅仅是像素数量!
非常有用,并且仍然非常相关。没有设备限制,大多数设备应该能够很好地处理JS需求——谢谢。
[错误已解决!]
作者在这篇文章中的javascript代码很好,只是它在我的安卓手机上不起作用。然后我找到了解决方案。只需将“document.location”替换为“window.location”,问题就解决了。为了方便起见,我添加了完整的脚本。
如果你发现它仍然不起作用,请确保你的javascript语法正确。
啊啊啊,完美,非常感谢!一直在想为什么它在S3上不起作用!
这个根本不起作用!我已经尝试了这里提到的评论中的数十种变体。将脚本放在标题中,标题之后,css之前。我把mobile.htm文件放在与我的index.htm和javascript相同的文件夹中,我调整浏览器窗口大小,但没有重定向!尝试了几个移动模拟器,仍然没有重定向!难道你必须在根目录中有一个.js文件吗?
不错的代码
它有效
非常感谢
有人能告诉我为什么它对我来说不起作用吗?我的index文件(http://www.pianotuningnashville.com/test/index.htm)包含以下代码,就在head标签之后
<
script type=”text/javascript”>
if (screen.width <481) {
window.location = “http://www.pianotuningnashville.com/test/mobile.htm”
}
我在Firefox中(也尝试过IE和Chrome)将屏幕缩小到小于480像素,但页面仍然一样——没有重定向。我在所有浏览器中都启用了javascript。为什么它对其他人有效,而对我无效?我做错什么了吗?请帮忙。
trashcode
这就是它不起作用的原因吗?那么如何设置cookie呢?我更像是一个设计师,而不是开发者。对代码不太熟悉。谢谢。
大家好,我在我的Galaxy S3上尝试了这段代码,它不起作用?有什么解决方案吗?
没有人评论如何修改代码以重定向到另一个CSS页面。我真的不想构建一个新网站,如果一个页面就够了的话。
@Bill 你可以使用响应式CSS。
如何制作“完整网站”菜单?
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
// 一些代码..
}
这个IF对我来说似乎很好用
在Apple iPhone 4S、三星Galaxy S3、Google Nexus 7上测试过
太棒了。这是我发现的最好的移动重定向脚本之一,它运行良好。我的旧脚本最近不知何故停止工作了。感谢分享!
并非所有WordPress网站在手机上都能很好地显示。如果我不想使用移动主题,而是想在我的WordPress网站上使用这个功能,该怎么办?我应该把建议的代码放在哪里?哪个文件?
<!–
if (screen.width
这是脚本。
if(navigator.appVersion.indexOf(“Win”)!=-1)
{
location.href = “#”;
}
else if(navigator.appVersion.indexOf(“Mac”)!=-1)
{
location.href = “http://example.com”;
}
else if(navigator.appVersion.indexOf(“Linux”)!=-1)
{
location.href = “http://example.com”;;
}
我想把它用作 onclick 函数。实际上我有一个软件网站。当用户点击下载时,页面会根据用户的操作系统自动重定向。如果用户操作系统是 MAC,则重定向到 MAC 页面,如果用户操作系统是 Windows,则重定向到 Windows 页面。谢谢
效果非常好 :)
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$wmobile = strpos($_SERVER['HTTP_USER_AGENT'],"Mobile");
$opera = strpos($_SERVER['HTTP_USER_AGENT'],"Opera Mini");
if ($iphone || $android || $palmpre || $ipod || $berry || $wmobile || $opera == true)
{
header('Location: http://www.xxxxxx.xx/indexmobile.html');
echo "window.location=’http://www.xxxx.xx/indexmobile.html'”;
}
?>
把它放在 .php 文件的前面。看看它是否有效:http://www.112pc.ro。在非常旧的手机上试一试 :) 。仍然有效。
user_agent.php
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://mobile.site.com/');
//OR
echo "window.location=’http://mobile.site.com'”;
}
?>
以及在你的 index.php 或 home.php 中
正是我要找的代码。简单直接。非常感谢!
如果我想限制人们从台式机浏览器访问移动版网站怎么办?有没有可以添加的“语句”来解决这个问题?
这里有一个适用于 wordpress 的插件解决方案 - http://www.ultimate-wordpress-mobile-redirect.com
此插件允许您为网站上的每个页面和/或帖子设置唯一的重定向 URL。这样,当访问者点击链接时...他们会直接被发送到正确的移动版网站,而不仅仅是主页。
感谢您提供这个简单的 html 代码!喜欢它。
我想我必须为所有网站页面添加和编辑这个脚本。对吧?看起来如果我使用谷歌搜索,比如谷歌返回:mywebsite.com/contact/contact.html,有人点击它,它会进入电脑网站,而不是移动版网站...
另外,我想知道这是否会造成 SEO 问题,因为我有两个网站:一个用于电脑,另一个用于移动设备,但这意味着内容是重复的。这个脚本可以解决谷歌机器人重复内容问题吗???使用它是安全的。感谢您尝试回答(这对我很重要...),并请原谅我的英语不好。
你好!
我想使用脚本代码
if (screen.width <= 699) {
document.location = "mobile.html";
}
重定向成功,但它一直在重新加载,重新加载....
请帮帮我!
谢谢!
为什么不呢?让我们一些用户有选择查看台式机版本的机会?大多数移动网站毫无用处!
我有一个移动版网站(www.domainname.mobi)和一个台式机版本(www.desktop.com)。
这两个网站的 URL 都是一样的,例如,如果你打开台式机版本(www.desktop.com/albums/taylor-swift.html)和移动版网站上的相同 URL(www.domainname.mobi/albums/taylor-swift.html)。但问题是我所有的网站都是静态的,而且它是一个非常旧的网站,我有超过 10,000 个静态页面。我需要到每个页面添加代码吗?有没有什么方法可以添加一些 .htaccess 代码,这样它就可以工作并进行重定向,将 .com 更改为 .mobi?
注意:我在服务器上还有不同的目录。例如。
http://www.desktop.com/albums/taylor-swift.html
http://www.desktop.com/track/rihanna.html
http://www.desktop.com/video/taylor-swift-just-like that.html
请帮帮我把 .com(台式机版本)重定向到 .mobi 移动版网站??我只需要重定向移动流量。
我尝试过使用 .htaccess,但无论何时我打开不同的 URL,例如打开一个 URL http://www.desktop.com/albums/taylor-swift.html,它会打开:http://www.desktop.mobi/albums/index.php。我应该如何打开 http://www.desktop.mobi/albums/taylor-swift.html?
这个效果很好。谢谢!!!
如何为 Android 做呢?
while(true)alert(“hola”)
非常感谢您提供如此简洁的代码
评论永久链接#
我尝试在我的 HTACCESS 文件中使用多种不同的方法,目的是删除 html 文件扩展名并在末尾添加一个斜杠。
但是,我一直遇到这个问题
要么添加了斜杠,但由于某种原因,当我在移动设备上使用网站时,菜单按钮(#menu)不再起作用。
要么:没有添加斜杠,在这种情况下,当在移动设备上打开网站时,菜单按钮仍然有效。
但我似乎无法同时让斜杠和菜单按钮起作用。
任何帮助都会不胜感激。
谢谢,
拉尔斯
很棒的工作...但我想知道如何在 wordpress 中进行重定向?
我的网站是 GUPSHUP CORNER
尝试使用 SOGO Add Script Header Footer!
哇,太棒了,谢谢。我用这个代码和 WordPress 插件 SOGO Add Script Header Footer
Android 手机呢?你怎么称呼它们?
??? navigator.userAgent.match(/Android/i) ?????
您好,通过这种方式,谷歌会索引网站的移动版。
有没有解决方案?
你好。
感谢您的信息。
希望我可以问
我假设我可以在 index.htm 中使用这两个脚本吗?
还有,我应该把脚本粘贴在哪里?在 head 标签里面吗?
这是我自上次做网站以来 20 年了...:)
祝一切顺利
维加德
您可以创建异常示例吗?