2012-03-26 92 views
0

周一到大家都很开心。Jquery代码不能在IE8中工作

我正在写一些非常基本的代码来创建一个网页,我的用户可以去,从下拉列表中选择一个项目,然后选择一个文件下载基地。

经过一些帮助,我可以通过下拉框的onchange事件通过jquery获得这个工作。当我在Firefox和Chrome中使用它时,我会做大车轮。我去了IE8和巴姆!它不起作用。这在课程中几乎是相同的。

这是我第一次使用任何类型的javascript。我为这个看似简单的问题表示歉意,但让我告诉你这是在推动我的香蕉!

下面是代码

<html> 
<head> 
<script script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min. 
js"> 
$(function() { 
    $("#PrinterNames").change(function() { 
     var printer = $(this).val(); 
     var url = "file:///C:/Users/JBenson/Desktop/PrinterScripts 

     /Completed"+"/"+ printer +".vbs"; 
    console.log(url); 
     window.open(url,'Start Installation') 
    }); 
}); 
</script>  
</head> 

<body lang=EN-US style='tab-interval:.5in'> 

<img src=inspirelogo.gif> 

<H2>Welcome to the HK Printer Installation Page!</H2> 
     <H3>Please select a printer: 
      <select id ="PrinterNames" name ="PrinterNames" > 
      <option value="Please Select a Printer" selected="selected"> 
Please Select a Printer</option> 
      <option value="Acadia">Acadia</option> 
        <option value="Altima">Altima</option> 
        <option value="Armada">Armada</option> 
        <option value="Avalon">Avalon</option> 
        <option value="Blazer">Blazer</option> 
        <option value="Camaro">Camaro</option> 
        <option value="Caravan">Caravan</option> 
        <option value="Cavalier">Cavalier</option> 
        <option value="Celica">Celica</option> 
        <option value="Charger">Charger</option> 
        <option value="Chevelle">Chevelle</option> 
        <option value="Corolla">Corolla</option> 
        <option value="Corvair">Corvair</option> 
        <option value="Corvette">Corvette</option> 
        <option value="Daytona">Daytona</option> 
        <option value="Envoy">Envoy</option> 
        <option value="Escalade">Escalade</option> 
        <option value="Frontier">Frontier</option> 
        <option value="HHR">HHR</option> 
        <option value="Hummer">Hummer</option>  
        <option value"Impala">Impala</option> 
        <option value="Insight">Insight</option> 
        <option value="Intrepid">Intrepid</option> 
        <option value="Journey">Journey</option> 
        <option value="Malibu">Malibu</option> 
        <option value="Maxima">Maxima</option> 
        <option value="Murano">Murano</option> 
        <option value="Neon">Neon</option> 
        <option value="Nomad">Nomad</option> 
        <option value="Nova">Nova</option> 
        <option value="Prowler">Prowler</option> 
        <option value="Sentra">Sentra</option> 
        <option value="Skyline">Skyline</option> 
        <option value="SSR">SSR</option> 
        <option value="Stratus">Stratus</option> 
        <option value="Versa">Versa</option> 
        <option value="Xterra">Xterra</option> 

      </select> </H3> 

<H3>Steps for Printer Installation </H3> 
<ol> 
     <li>Select your printer from the drop down above.</li> 
     <li>You will get a pop up window that looks like this<br> 
     <img src="printerinstall.jpg" alt="Download Box" ><br> 
     Please click on open. It will iniate the installation.<br></li> 
     <li>You may see a pop up box that looks like this during your installation<br> 
     <img src="trustprinter.jpg" alt="Trust Printer"><br> 
     Click on Install driver. <br></li> 
     <li>After a few minutes, check your Devices and Printers and the printer you  

     selected should now be there.</li> 
</ol> 
<H3>Please contact the helpdesk at 6657 if you encounter any issues. </H3> 

</body> 
</html> 

我希望这是很简单的东西,你需要的IE浏览器。任何你可以提供的帮助将非常赞赏。我对这个问题感到厌倦,我可以通过一个窗口扔掉compy。

再次感谢所有!

+1

潜在的愚蠢的问题:你真的需要* *支持IE8? – 2012-03-26 13:36:56

+0

你能给我们提供更多关于它不起作用的信息吗?脚本错误,结果错误等? – Rup 2012-03-26 13:37:33

+0

是的,我们确实需要支持IE8。我们处理的外部供应商的网站和应用程序只能在IE7和IE8上运行,因此我们必须保留它。如果可以的话,我会将所有人改为firefox。 – 2012-03-26 14:19:10

回答

1

尝试取出:

console.log(url); 

IE8可以在console吐了起来。

而且,请记住在分隔符合适的行尾添加分号。 IE不会像其他浏览器一样原谅JS错误。

通过JSLint或其他JS调试器运行代码。

这里是你的代码的小提琴尝试:http://jsfiddle.net/WmS25/

+1

另外:检查这个调试脚本。 http://benalman.com/projects/javascript-debug-console-log/而不是使用console.log(url);你只需要使用debug.log(url)。它为您提供了大量的选择,并适用于所有浏览器。 – tedski 2012-03-26 13:42:02

+0

jk。通过jslint运行代码。再次没有JavaScript经验不知道我得到的错误是什么导致问题,或者如果它只是挑剔的语法?你们能否看看并告诉我这些错误是否会导致这个问题? – 2012-03-26 15:08:17

+0

@JamiBenson我在自己的代码中测试了IE8中的'console.log',它没有运行。总是使用正确的JS语法,因为IE特别敏感。此外,Chrome还内置了JS调试工具。“扳手”左上角,“工具”,“Javascript控制台”。 – 2012-03-26 15:11:28