Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据设备使JavaScript打开页面?_Javascript - Fatal编程技术网

如何根据设备使JavaScript打开页面?

如何根据设备使JavaScript打开页面?,javascript,Javascript,我最近做了一个网站,是为了好玩。我有一个想法,使用JavaScript根据设备打开链接(当JavaScript检测到设备时,比如说桌面,它会打开YouTube,当它检测到手机时,它会打开google)。请不要判断,因为我对JavaScript一无所知,但以下是我的想法: if(navigator.userAgent.match(/Mac OS X/i) ||navigator.userAgent.match(/webOS/i) ||navigator.userAgent.match(/iPhon

我最近做了一个网站,是为了好玩。我有一个想法,使用JavaScript根据设备打开链接(当JavaScript检测到设备时,比如说桌面,它会打开YouTube,当它检测到手机时,它会打开google)。请不要判断,因为我对JavaScript一无所知,但以下是我的想法:

if(navigator.userAgent.match(/Mac OS X/i)
||navigator.userAgent.match(/webOS/i)
||navigator.userAgent.match(/iPhone/i)
||navigator.userAgent.match(/iPad/i)
||navigator.userAgent.match(/iPod/i)
||navigator.userAgent.match(/BlackBerry/i)
||navigator.userAgent.match(/windowsphone/i);
窗口打开(“https://www.w3schools.com"); 

这真的不起作用,所以如果有人知道如何破解它并根据设备打开网站,我会非常感兴趣。

如果你想在用户在桌面上打开YouTube或在移动设备上打开Google,检查屏幕大小会更容易、更方便。你没有正确的JavaScript语法,但是其实很简单:

if(window.outerWidth>1000){
window.location.replace('https://youtube.com')
}否则{
window.location.replace('https://google.com')

}
用户代理嗅探是一个巨大的、复杂的(谢谢IE)烂摊子。MDN有一篇很好的文章,介绍了一些需要记住的事情:。只有当你想在精神错乱中练习时才可以这样做。你不能以
if
语句结束
if
;你需要在
if
之后使用
{/code>。比如
if(navigator.userAgent.match)(/Mac OS X/i)){window.open(“”);}
请解释一下“不起作用”的意思。首先,我看到你写了
if(…);
这不是一个非常有用的if语句。你是想在if之后使用
{}
吗?我想你忘了用()好的,这里有一个针对那些困惑者的更新:var platform=document.getElementById('platform');if(navigator.userAgent.match(/iPhone/i)){platform.textContent=“It's iPhone”;}else if(navigator.userAgent.match(/iPad/i)){platform.textContent=“It's iPad”;}else if(screen.width,如果我缩小我的浏览器窗口?那横向iPad呢?非常确定它们的长度超过1000px。@zero298检查用户代理也可以通过在DevTools中打开设备预览来愚弄。我们可以放心地认为大多数用户不会这么做that@zero298像素值可以针对平板电脑、手机、台式机和笔记本电脑进行调整.iPad实际上愚弄了用户代理检测器,因为默认情况下Safari会加载所有站点的桌面视图。你在证明我的观点,这项检查甚至不会每次都准确无误。没有什么傻瓜式的方法可以做到这一点。@zero298我同意你的看法,但由于这不是一个生产站点,这应该不会是一个问题他说这只是为了好玩