gpt4 book ai didi

javascript - 在选项卡单击时加载 iframe

转载 作者:行者123 更新时间:2023-11-30 16:21:55 26 4
gpt4 key购买 nike

我有一堆选项卡,在每个选项卡中我都有一个 iframe,我只想在按下选项卡时加载它。我不希望在页面加载后加载所有应用程序。如何实现?

我是 JSP 和 Javascript 的新手..

    <ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#menu1">First Menu</a></li>
<li><a data-toggle="tab" href="#menu2">Second Menu</a></li>
</ul>


<div class="tab-content">

<div id="home" class="tab-pane fade in active">
<iframe id="iframe1" src=""></iframe>
</div>

<div id="menu1" class="tab-pane fade">
<iframe id="iframe2" src=""></iframe>
</div>

<div id="menu2" class="tab-pane fade">
<iframe id="iframe2" src=""></iframe>
</div>

</div>

最佳答案

Ajax 更好!

根据@PDKnight 的建议,您应该使用 ajax,在这个解决方案的最后您会明白为什么。

这是适合您的工作 fiddle (jQuery 代码)。

jQuery(document).ready(function($) {
$('.nav-tabs > li > a').on('click', function(event) {
//avoid <a> tag to load his href
event.preventDefault();
//getting the main subjects
var id_of_selected = $(this).attr('load-in');
var link_to_load = $(this).attr('href');
var iframe_to_load = $(document).find('#' + id_of_selected);
console.log(iframe_to_load);
//make the magic
if (iframe_to_load.length) {
iframe_to_load.attr('src', link_to_load); //this fires the link to destinated iframe
iframe_to_load.parent().addClass('active'); //this make the parent div container of iframe visible
}

});
});
.tab-pane {
display: none;
}
.active {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d11173.933562701173!2d12.2363393!3d45.560717000000004!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sit!2sit!4v1452004351715" load-in="iframe1">WORKING!</a>
</li>
<li><a data-toggle="tab" href="http://www.youtube.com" load-in="iframe2">First Menu</a>
</li>
<li><a data-toggle="tab" href="http://www.facebook.com" load-in="iframe3">Second Menu</a>
</li>
</ul>
<div class="tab-content">

<div id="home" class="tab-pane fade in">
<iframe width="200" height="200" style="width:200px;height:200px;" id="iframe1" src=""></iframe>
</div>

<div id="menu1" class="tab-pane fade">
<iframe id="iframe2" src=""></iframe>
</div>

<div id="menu2" class="tab-pane fade">
<iframe id="iframe3" src=""></iframe>
</div>

</div>

您会看到(在控制台中按下“First Menu”或“Secon Menu”)您无法加载不允许 X-ORIGIN 的链接 read more here ).但是您可以只在第一个标签页(工作标签页)中加载 iframe,因为谷歌地图允许 X-ORIGIN 嵌入

如果对你有用,请竖起大拇指;)

关于javascript - 在选项卡单击时加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34613391/

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