2017-04-06 40 views
0

我創建了一些帶有JavaScript代碼的htm頁面,並保存在Windows桌面上。在我確認提示運行腳本或Active X後,代碼運行良好,但只要我將文件複製到網絡位置(而不是服務器)並嘗試打開文件,JavaScript就不會再運行(提示符上面提到的沒有出現)。我沒有與其他代碼(包括JavaScript)的這個問題,我不知道什麼問題 - 可能是圍繞網絡安全設置?僅當文件保存在某個位置時纔會運行JavaScript代碼

具體而言,下面的代碼片段似乎是導致該問題:

<div class="dropdown"> 
<button onclick="myFunction()" class="dropbtn">Dropdown</button> 
    <div id="myDropdown" class="dropdown-content"> 
    </div> 
</div> 

function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
} 

.show {display:block;} 

的按鈕顯示,但是下拉菜單沒有顯示出來,當文件被保存在網絡驅動器上。所以myfunction()函數顯然不起作用。

+0

你如何打開該文件?您是否看到Chrome開發人員工具控制檯中的任何錯誤顯然? –

+0

它在Chrome上運行,即使在網絡保存的文件上,但不在IE11上。因此它不能是一個壓倒一切的安全策略,它必須是特定於JavaScript功能的IE特定問題(其他腳本運行沒有問題) – Joerg

+0

IE是否在開發者控制檯中報告任何錯誤? –

回答

0

如果您想在您的HTML中使用JavaScript和CSS,而不是將其包含爲.js和.css,那麼您應該讓瀏覽器知道它處理的是哪種代碼。

<style> 
.show { 
    display: block; 
} 
</style> 

<div class="dropdown"> 
    <button onclick="myFunction()" class="dropbtn">Dropdown</button> 
<div id="myDropdown" class="dropdown-content"></div> 
</div> 

<script> 
    function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
    } 
</script> 

所以,如果你想使用JavaScript您.html文件裏面,總是
<script> /* Your JavaScript */ </script>標籤之間的包裹。

對於CSS,使用<style> /* Your CSS */ </style>標記。

+0

當然,我已經這樣做了,當然,這似乎不是問題所在。 – Joerg

相關問題