2014-01-14 51 views
0

我有一个可以通过树莓皮和其他东西访问的网站。我需要在PI访问站点时显示一个键盘,而不是在其他任何访问都访问时显示。我想我会运行一个简单的平台检查,因为PI返回Linux armv6l,其他所有内容都将返回Win32。但是我无法对逻辑工作进行简单的测试。JavaScript if if navigator.platform

静态/ JS我的JavaScript browswer.js

function myFunction(){ 
if(/Linux armv6l|Linux armv7l/i.test(navigator.platform)) { 
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>"; 
} 
else { 
txt= "<p>Browser Language: " + navigator.language + "</p>"; 
} 
document.getElementById("example").innerHTML=txt; 
} 

我的HTML

<html> 
    <head> 
    <title>test</title> 
    </head> 
<body> 

<h1>Welcome</h1> 

<p id="example"></p> 



</body> 
<script type="text/javascript" src="static/js/browser.js"></script> 
</html> 

我很新的Javascript和HTML,所以我相信我做了几件事情错了,但我无法弄清楚。感谢

+0

我建议只是显示反正键盘,但是使它所以,你必须点击的东西来打开它。你不能假设,如果某人有RPi,他就没有键盘,如果他没有RPi,那么他确实有一个键盘。还有其他的可能性,人们可能想要一个键盘,并且有些情况下人们可能会将键盘连接到他们的RPi上。 – Joeytje50

+0

这个声明有什么作用?/Linux armv6l | linux armv7l/i.test(navigator.platform – gaurav5430

+0

如果我正确理解这一点,并且我不这样做,它应该测试以查看i.test(navigator.platform)的输出是否为== ether Linux armv6l或者Linux armv7l。如果是,那么if是true或者如果不是,那么它是false,然后其他代码应该踢进去。 – Jay42

回答

0
function systemdetect() 
{ 
systemname=navigator.platform; 

if (systemname.indexOf("Linux armv6l")!=-1) { 
    systemname="pi" 
    document.write("<p>this is a test.</P>") 
    } 

else {if (systemname.indexOf("Win32")!=-1) { 
    systemname="MS 32" 
    document.write("<p>this is a Win32 tes.</P>") 

} 

else {systemname="N/A"}}; 

} 

就是我结束了使用,以测试PI