簡體   English   中英

動態插入另一個HTML文件?

[英]Insert one HTML file in another dynamically?

有2個html文件,file-1.htm和file-2.htm。 還有另一個html文件test.htm,下拉列表有2個值,“Load Sample-1”和“Load Sample-2”。

這就是我正在嘗試的:當從下拉列表中選擇“Load Sample-1”時,file-1.htm應作為嵌套html加載到test.htm中。

現在我可以通過在test.htm中包含file-1.htm和file-2.htm的內容來通過javascript實現這一點。 隨着下拉變大,test.htm會變得龐大。 如何通過為下拉列表中的每個條目分別創建html文件來實現這一目標?

為什么不使用<iframe> ,然后讓JavaScript動態更改iframe的來源?

這是一個簡單的頁面,演示如何使用它:

<html>
<head>
<script type="text/javascript">
var changePage = function() {
    var iframe = document.getElementById("myiframe");  // One of the many ways to select your iframe
    var select = document.getElementById("pageselected");
    var url = select.options[select.selectedIndex].value;
    iframe.src = url;
}
</script>
</head>
<body>
<select id="pageselected">
    <option value="page1.html">Page 1</option>
    <option value="page2.html">Page 2</option>
</select>
<input type="button" onclick="changePage()" value="Change Page" />
<iframe id="myiframe"></iframe>
</body>
</html>

您可能會問自己“為什么他不僅僅使用onchange<select> ?嗯,我在這里詳細介紹<select> + onchange ,但是基本上使用它會使您的網站無法訪問使用Internet Explorer 6或7的僅限鍵盤的用戶。(不確定它是否仍在8中斷開)

如果你使用JQuery,他們有一個奇特的函數jquery('#div') 。load () http://jquery.com/ http://docs.jquery.com/Ajax/load

效果很好,還支持GET和POST參數。

如果下拉是“巨大的”,那么我建議不再使用下拉菜單並查看一些現有的自動完成框以供您選擇的語言。

如果有數百個選項,則下拉列表不再是適當的表單元素。

您可以使用AJAX來完成此任務。 一百萬種不同的AJAX教程可以向您介紹該技術。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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