2015-11-13 66 views
0

我想创建一个按钮,它将在使用javascript的新文档中显示浏览器的详细信息。我已经在这里搜索和w3schools,我很难过!我真的很新的JavaScript,所以任何建议,非常感谢。谢谢!Javascript - 在新文档中显示浏览器的详细信息

<html> 
    <head> 
    <script type="text/javascript"> 
    function docOpen() 
    { 
    document.open(); 
    document.write(browserDetails); 
    } 
function browserDetails() { 
    var x = navigator 
    document.write("CodeName=" + x.appCodeName) 
    document.write("<br />") 
    document.write("MinorVersion=" + x.appMinorVersion) 
    document.write("<br />") 
    document.write("Name=" + x.appName) 
    document.write("<br />") 
    document.write("Version=" + x.appVersion) 
    document.write("<br />") 
    document.write("CookieEnabled=" + x.cookieEnabled) 
    document.write("<br />") 
    document.write("CPUClass=" + x.cpuClass) 
    document.write("<br />") 
    document.write("OnLine=" + x.onLine) 
    document.write("<br />") 
    document.write("Platform=" + x.platform) 
    document.write("<br />") 
    document.write("UA=" + x.userAgent) 
    document.write("<br />") 
    document.write("BrowserLanguage=" + x.browserLanguage) 
    document.write("<br />") 
    document.write("SystemLanguage=" + x.systemLanguage) 
    document.write("<br />") 
    document.write("UserLanguage=” + x.userLanguage) 
    } 
    </script> 
    </head> 
    <body> 
    <form> 
    <input type="button" onclick="docOpen()" value="Get Browser Details"> 
    </form> 
    </body> 
+1

W3Schools的建议(见【规范】警告不良行为,比如'document.write'(http://www.w3.org/TR/html5/webappapis:

我在做一个工作的小提琴html的#文件撰写%28%29))。我建议避免这两个。 – Oriol

+0

谢谢Oriol。我的大学教授给我提供了document.write作为例子。这对于班级来说并不好。 lol –

回答

2

你有一个适当的标准(直)双引号这里的卷曲双引号:

document.write("UserLanguage=” + x.userLanguage) 
          ^

这导致一个语法错误。用直接的引号替换它。

0

你可以这样做基于@Barmar评论

<script> 
    function docOpen() 
    { 
    document.open(); 
    browserDetails(); // ADD '()' to call the function -- 
    } 
function browserDetails() { 
    var x = navigator; 
    // iterate through all properties and get the values 
    for(var prop in x) { 
     document.write(prop+' = '+ x[prop]+'<br />'); 
    } 
    } 
    </script> 
+1

'browserDetails()'不返回任何东西,写入返回值没有意义。 – Barmar

+0

是真的!对不起, – TJB4rn3s

1

问题

<html> 
    <head> 
     <script> 
    function docOpen() 
    { 
    document.open(); 
    document.write(browserDetails()); // ADD '()' to call the function 
    } 
function browserDetails() { 
    var x = navigator; 
    // iterate through all properties and get the values 
    for(var prop in x) { 
     document.write(prop+' = '+ x[prop]+'<br />'); 
    } 
    } 
    </script> 
    </head> 
    <body> 
    <form> 
    <input type="button" onclick="docOpen()" value="Get Browser Details"> 
    </form> 
    </body> 

编辑是,你是不是要么调用您所定义的功能。对browserDetails的调用不是一个调用,它只是一个参考,并没有什么是调用docOpen函数。

变更线4 document.write(browserDetails());

然后调用docOpen docOpen()

您还需要修复的智能报价由duskwuff的指示。 https://jsfiddle.net/87q1a0kn/

+1

'browserDetails()'不返回任何东西,将它作为参数传递是没有意义的。 – Barmar

+0

它不会因为写入文档而返回任何内容。它仍然需要被调用 – danwellman

+0

是的,它需要被调用,但不能作为'document.write()'的参数。只要做'browserDetails();'。 – Barmar

相关问题