我的網站完全設計爲無javascript。 JS完全無干擾地添加。從特定瀏覽器的網站中禁用JS
現在我不想在所有瀏覽器(特別是較老的IE版本)上測試JS,因爲它們沒有給出調試反饋,而且這不值得我花時間。
所以我只想在某些瀏覽器上禁用JS(或者相反:在我測試過的瀏覽器上允許它)。
有沒有辦法做到這一點?或者我必須創建一個JS標誌,我必須在每次執行JS之前進行諮詢? (真的不希望這樣做)
我的網站完全設計爲無javascript。 JS完全無干擾地添加。從特定瀏覽器的網站中禁用JS
現在我不想在所有瀏覽器(特別是較老的IE版本)上測試JS,因爲它們沒有給出調試反饋,而且這不值得我花時間。
所以我只想在某些瀏覽器上禁用JS(或者相反:在我測試過的瀏覽器上允許它)。
有沒有辦法做到這一點?或者我必須創建一個JS標誌,我必須在每次執行JS之前進行諮詢? (真的不希望這樣做)
我相信這會工作:有這個作爲第一個<script>
標籤
if(/* test for browser */) killJS()
function killJS() {
var scripts = document.getElementsByTagName("script")
for(var i = 0; i < scripts.length; i++)
{
var curr = scripts[i]
if(curr.parentNode) curr.parentNode.removeChild(curr)
}
}
看起來像一個很好的起點。我會嘗試一下,如果有效,請接受你的回答。謝謝。 – enyo
Cwallenpoole的解決方案看起來對我來說,這是行不通的,除非它呼籲DOM就緒事件,或者至少在其他腳本標記之後,腳本已經運行。
如果所有腳本都在一個地方,或者至少沒有嵌入各地的頁面,也許你應該檢查瀏覽器後,用JavaScript它們包括:
<script>
if(/* Browser checks */)
document.write('<script src="scripts.js"></script>');
</script>
這是說明了爲什麼保持一個場景您的代碼D.R.Y.和所有在一個地方是重要的。
要檢測瀏覽器,請查看quirksmode,但請注意指向其對象檢測頁面的鏈接,而不是如果它對您的用例更有用。對於後者而言,Yepnope.js是有用的,後者是Modernizr的一部分。
你能更「具體」嗎?您想排除哪些瀏覽器(版本)? – Knu