[英]dynamically change javascript source with onclick event
我是JavaScript的初學者,遇到以下問題,我有2種語言的多個頁面。 以后也許更多。 我使用javascript var設置語言。 要么:
Var language=”de”; or var language=”en”;
然后我用它來加載正確的語言文件:
<script src="javascript"+language+".js" type="text/javascript"></script>
有沒有一種方法可以通過onclick()事件更改此變量。 這樣它才能更改並保持更改,直到我再次更改它?
謝謝您的時間。
您可以像這樣動態添加腳本:
var selectorEls = document.querySelectorAll(".language-select"); var current; function _handleClick ( ev ) { if ( current ) current.parentNode.removeChild(current) var language = ev.target.getAttribute("data-language"); var newScript = document.createElement("script"); var newSrc = "javascript" + language + ".js"; newScript.setAttribute("src",newSrc); current = newScript; document.head.appendChild(newScript); } for ( var i = 0; i < selectorEls.length; i += 1 ) { selectorEls[i].addEventListener("click", _handleClick); }
<a class="language-select" data-language="en">EN</a> <a class="language-select" data-language="fr">FR</a> <a class="language-select" data-language="de">DE</a>
此代碼將單擊綁定到多個<a>
元素上,每個元素都具有語言數據屬性。 單擊一個將使用正確的語言創建一個新的<script>
並將其添加到頁面中。 它還會刪除您以前以此方式添加的所有腳本,以確保不會發生沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.