<script src="chat/script.php?room=1&username=John&draggable=1"></script>
,這並不:
<script>
var username="John";
</script>
<script src="chat/script.php?room=1&username="+username+"&draggable=1"></script>
不知道如何解決這個問題?
<script src="chat/script.php?room=1&username=John&draggable=1"></script>
,這並不:
<script>
var username="John";
</script>
<script src="chat/script.php?room=1&username="+username+"&draggable=1"></script>
不知道如何解決這個問題?
嗯,你能做到這一點使用客戶端的代碼,但不使用HTML:
<script>
var username="John";
var script = document.createElement('script');
script.src = "chat/script.php?room=1&username="+username+"&draggable=1";
document.getElementsByTagName('script')[0].parentNode.appendChild(script);
</script>
使用像PHP這樣的服務器端語言。那src
屬性不是Javascript的一部分。只有script
元素中的代碼。
確實,您的變量username
是一個JavaScript變量。在<script>
標籤之外,HTML不知道它。您需要在JavaScript中插入<script>
標記。 this post描述瞭如何做到這一點。
在你的情況,這將是:
var my_script = document.createElement('script');
my_script.setAttribute('src','chat/script.php?room=1&username=' + username + '&draggable=1');
document.head.appendChild(my_script);
script標籤的內容是執行,其屬性中的任何內容都不會被執行。您可以動態添加腳本標籤,像這樣:
var username="John";
var s = document.createElement('script');
s.src = "chat/script.php?room=1&username="+username+"&draggable=1";
documennt.getElementsByTagName("head")[0].appendChild(s);
這將創建一個新的腳本元素,設置src
屬性,然後將其插入到HTML <head>
標籤。
另一種方法是使用document.write
方法如下:
var username = "John";
document.write("<script src=\"chat/script.php?room=1&username=" + username
+ "&draggable=1\"><" + "/script>");
注意,我打破</script>
一部分,它不認爲作爲主腳本塊的末尾結束標記! \"
用於轉義字符串內的雙引號。