iframe切换数据只加载一次
时间: 2023-08-11 14:23:44 浏览: 64
您可以使用 JavaScript 来实现在 iframe 切换数据时只加载一次的功能。具体实现步骤如下:
1. 给每个 iframe 设置一个 id。
2. 在 JavaScript 中使用 document.getElementById() 方法获取到每个 iframe。
3. 在 iframe 加载完毕后,将其设置为隐藏状态。
4. 当需要切换到某个 iframe 时,将其设置为显示状态,并将其他 iframe 设置为隐藏状态。
5. 在切换 iframe 的同时,判断该 iframe 是否已经加载过数据,如果已经加载过,则不再重新加载数据。
下面是一段示例代码,供您参考:
```html
<iframe id="iframe1" src="data1.html"></iframe>
<iframe id="iframe2" src="data2.html"></iframe>
<iframe id="iframe3" src="data3.html"></iframe>
<script>
// 获取所有的 iframe
var iframes = document.getElementsByTagName("iframe");
// 隐藏所有的 iframe
for (var i = 0; i < iframes.length; i++) {
iframes[i].style.display = "none";
}
// 切换到指定的 iframe
function switchIframe(id) {
for (var i = 0; i < iframes.length; i++) {
if (iframes[i].id == id) {
iframes[i].style.display = "block";
// 判断该 iframe 是否已经加载过数据
if (!iframes[i].hasLoadedData) {
iframes[i].src = iframes[i].src;
iframes[i].hasLoadedData = true;
}
} else {
iframes[i].style.display = "none";
}
}
}
</script>
```
在上面的代码中,我们使用了一个名为 `hasLoadedData` 的属性来判断每个 iframe 是否已经加载过数据。如果该属性的值为 true,则表示已经加载过数据,不需要再次加载。