为什么我的javascript无法检测移动设备?

为什么我的javascript无法检测移动设备?,javascript,html,function,Javascript,Html,Function,我正在使用从mobileesp.com获得的as。该文件看起来非常适合我需要的内容,我已将其保存在本地。然后在我的HTML页面上,我想调用其中一个函数,如果它返回true,即用户在移动设备上,则在页面顶部显示一个表,表示我们的站点当前不支持移动设备。然而,在到达那里之前,我已经失败了: <html> <head> <script type="text/javascript" src="mdetect.js"></script> </head&

我正在使用从mobileesp.com获得的as。该文件看起来非常适合我需要的内容,我已将其保存在本地。然后在我的HTML页面上,我想调用其中一个函数,如果它返回true,即用户在移动设备上,则在页面顶部显示一个表,表示我们的站点当前不支持移动设备。然而,在到达那里之前,我已经失败了:

<html>
<head>
<script type="text/javascript" src="mdetect.js"></script>
</head>
<body>
<h1>header 1</h1>
<script type="text/javascript">
document.write(DetectIphoneOrIpod());
</script>
<p>this is normal body text</p>
</body>
</html>
我做错了什么?至少我还没有接触到复杂的东西。为什么它不根据函数返回的内容来写true或false呢?感谢您的帮助


谢谢

我不知道有什么问题,但是如果你只是为了这个功能而使用整个文件,那就太过分了。下面是一个精简版本,它应该更易于调试:

function isSmallIDevice() {
    return navigator.userAgent.search(/iPhone|iPod/i) > -1;
}

我想你想做的是这样的:

<html>
<head>
<script type="text/javascript" src="mdetect.js"></script>
</head>
<body>
<h1>header 1</h1>
<script type="text/javascript">
    if (DetectIphoneOrIpod()) {
        document.write("<table>...</table>");
    }
</script>
<p>this is normal body text</p>
</body>
</html>

但是,您可能希望使用DetectSmartphone或DetectMobileQuick功能来检测更多的移动设备,而不仅仅是iPhone和iPod Touch。

我知道这似乎很明显,但请检查您的功能名称是否正确。JavaScript通常是大写的,第一个单词是小写的;请参阅:尝试删除文档。单独编写和调用该功能。iPhone和iPod Touch不是唯一存在的移动设备@我知道。我从文件中直接精简了该函数。是的,我现在看到OP只使用了DetectIPhoneOrIpod函数。我如何检查false,以便通过桌面浏览器进行测试?对不起,这是我的第一个JS项目。我甚至还不能得到document.writefunction;做任何事。如果!DetectIphoneOrIpod应该允许您在桌面上进行测试。注意添加了感叹号!把我涂成傻子。。。所有这些都证明我有一个稍微模糊的mdetect.js版本。当我重新下载时,一切都很好。谢谢你的耐心!你的代码运行得很好。