navigator.device未定义

时间:2014-05-07 18:05:20

标签: javascript undefined navigator

我创建了一个用于捕获摄像头流的脚本,但是当我尝试执行#34; navigator.device"时,我得到了一个未定义的脚本。以下是一些示例代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <body>
        <head><meta charset="UTF-8"></head>
        <button onclick="myTest();"> TEST</button>
        <p id="capture-result"><i>&lt;results go here&gt;</i></p>
        <script>
            var resdev = document.getElementById('capture-result');

            function myTest(){
                resdev.innerHTML = "<br>&lt;Looking...&gt;<hr/>";
                var str = "";
                var x;
                checkResults("1", (navigator                == undefined));
                checkResults("2", (navigator.device         == undefined));
                checkResults("3", (navigator.device.capture == undefined));
            }

            function checkResults(name, truefalse) {
                resdev.innerHTML += name + "-";
                resdev.innerHTML += (truefalse) ? "UNDEFINED" : "OK";
                resdev.innerHTML += "<br>";
            }     
        </script>
    </body>
</html>

我得到了一个未定义的&#39; checkResults上的错误&#39; navigator.device&#39;。

1 个答案:

答案 0 :(得分:0)

当我谷歌搜索&#34; navigator.device&#34; 时,我得到PhoneGap API Documentation等。

还有(旧的/未回答的)SO问题Phonegap navigator.device issue android

您需要使用PhoneGap来完成您尝试做的事情。


修改

对于很多事情,只有在浏览器本身不支持的情况下,您才可以使用功能检测和加载手机功能。

基本概念是测试,例如if (navigator.device == udefined) { doSomethingToLoad(phonegap); }

我个人使用Modernizr来完成大部分此类任务。