2012-03-26 93 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