簡體   English   中英

使用onclick事件動態更改javascript源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM