2015-09-02 154 views
1

我的問題是我在各種目錄中有多個外部JavaScript代碼塊,我需要能夠更改每個目錄的名稱,因爲代碼包含在內。我一直在看這一段時間,我甚至不確定它可以完成。將可變參數傳遞給javascript src ='xxx'外部包含

例子:

script type="text/javascript" src="http://www.wanowandthen.com/"+galleryName+"/getalbumpics.php?id=gallery1"; /script 

我想要做的就是通過一個目錄名變量galleryName使一個HTML文件可以訪問各種不同的目錄,並顯示他們的圖片。

.JS文件的副本存在於每個目錄中,我所需要的就是能夠告訴.JS include語句使用哪個目錄。

+0

是'galleryName'從哪裏來的變量JavaScript的?如果是這樣,你可以通過編程方式創建一個'script'元素,使用字符串連接你的變量來設置'src'屬性並將其附加到'document.body'。 –

+0

除了@ Marc的問題 - 也許'galleryName'是一個PHP變量可用的服務器端,當你渲染你的頁面,因爲你似乎使用PHP? –

+0

不幸的是,我不熟練使用Javascript。我知道我想要做什麼,但是實現它的技能非常有限。我的方法是有一個可供選擇的圖庫名稱列表,供讀者從中選擇。畫廊名稱 - IE。真正的文件夾名稱 - 然後傳遞給上面的腳本以顯示正確的圖像庫。我會嘗試解決如何使用建議的解決方案,並感謝所有幫助。下面是一些圖庫頁面的示例:http://www.wanowandthen.com/gallery-contents.html –

回答

0

你應該把這段創建該galleryName變量的腳本:

var script = document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "http://www.wanowandthen.com/" + galleryName + "getalbumpics.php?id=gallery1"; 
document.body.appendChild(script); 

編輯:這應該是你需要的代碼:

<form> 
    <select onchange="myFunction()" name="galleryName" id="galleryName"> 
    <option value="abandoned-western-australia" Selected>Abandoned WA</option> 
    <option value="Albany-gallery" Selected>Albany</option> 
    </select> 
</form> 


function myFunction() { 
    var galleryName = document.getElementById("galleryName").value; 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src = "http://www.wanowandthen.com/" + galleryName + "getalbumpics.php?id=gallery1"; 
    document.body.appendChild(script); 
    console.log(galleryName); 
} 
+0

可能有人請解釋什麼線1和解決方案的4實際上做。談到編寫JS時,我是一個總的新手。謝謝。 –

+0

這真的是DOM操作。第1行創建tge腳本,第4行將其附加到HTML文檔的主體。 –

+0

我仍然在這裏失去一些東西。這就是我試圖做: –