gpt4 book ai didi

javascript - 一个链接在同一页面上打开两个 Iframe 目标

转载 作者:行者123 更新时间:2023-11-28 04:43:34 24 4
gpt4 key购买 nike

我目前有一个工作网页,其中包含在目标 iFrame 中打开的链接列表。我想添加后续 iFrame 目标,并能够打开该 iFrame 中的补充页面以及具有相同链接的原始 iFrame。

根据我的研究,这似乎对于一些 JS 来说是可能的,但我正在努力弄清楚。

基本上,我如何单击“Lot 1”并在“图库”iFrame 中打开 Youtube,并同时在“info”iFrame 中打开 www.example.com?

  <iframe src="" name="gallery"</iframe>
<iframe src="" name="info"</iframe>

<a href="http://www.youtube.com/" target="gallery">Lot 1</a>
<a href="http://www.youtube.com/" target="gallery">Lot 2</a>

最佳答案

您可以拥有array/object存储链接,然后运行 ​​onclick 事件,该事件会将相应的 iframe 源更改为所述数组中的值(iframe 有一个 src 属性,您可以通过 JS 更改该属性)。

例如:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var frm = ['gallery', 'info'];
var hrf = ['http://example.com/', 'http://example.net/'];

function setSource() {
for(i=0, l=frm.length; i<l; i++) {
document.querySelector('iframe[name="'+frm[i]+'"]').src = hrf[i];
}
}
</script>
</head>
<body>
<iframe src="" name="gallery"></iframe>
<iframe src="" name="info"></iframe>
<span onclick="javascript: setSource();">Click me</span>
</body>
</html>

如果您想拥有多个 span 元素,每个元素都将 iframe 的源更改为一组不同的链接,则您始终可以使用多维数组(数组的数组)作为 src 并向函数添加参数:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var frm = ['gallery', 'info'];
var hrf = [['http://example0.com/', 'http://example0.net/'], ['http://example1.com/', 'http://example1.net/']];

function setSource(num) {
for(i=0, l=frm.length; i<l; i++) {
document.querySelector('iframe[name="'+frm[i]+'"]').src = hrf[num][i];
}
}
</script>
</head>
<body>
<iframe src="" name="gallery"></iframe>
<iframe src="" name="info"></iframe>
<span onclick="javascript: setSource(0);">Click me #0</span>
<span onclick="javascript: setSource(1);">Click me #1</span>
</body>
</html>

这里 hrf 是一个包含另一个数组的数组 (['http://example0.com/', 'http://example0.net/'] ) 在索引 0 处,另一个 (['http://example1.com/', 'http://example1.net/']) - 在索引 1 处。通过将参数传递给setSource 我们可以选择要从中获取源的子数组。

<小时/>请不要忘记关闭您的标签。

出于您的目的使用 a 标记并不是一个好主意,我建议使用 spana 标记的用途是将用户链接到另一个文档,而不是运行 javascript 代码(不使用 a 也意味着您不必使用 preventDefault )。

javascript: 前缀用于 onclick 属性,以便为某些较旧的移动浏览器提供向后兼容性。

关于javascript - 一个链接在同一页面上打开两个 Iframe 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com