Как обновить iframe при нажатии на соответствующую вкладку с помощью JavaScript? - PullRequest
0 голосов
/ 22 ноября 2018

Я использую три iframe внутри индексных файлов с 3 вкладками.Я хочу загрузить или обновить файлы внутри iframe, когда выбрана каждая вкладка.

Вот мои индексные файлы

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<ul class="nav nav-tabs" id="myTab">
  <li class="active"><a data-target="#home" data-toggle="tab">Enter</a></li>
  <li><a data-target="#profile" data-toggle="tab" >Display</a></li>
  <li><a data-target="#messages" data-toggle="tab">Search</a></li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="home">
    <iframe src="EnterBook.php"  ></iframe> 
  </div>
  <div class="tab-pane" id="profile" >
    <iframe src="DisplayBooks.php"  ></iframe>
  </div>
  <div class="tab-pane" id="messages">
    <iframe src="SearchBooks.php"  ></iframe>   
  </div>      
</div>

Я действительно искал другое решение, но ничего не помогло .. Пожалуйста, любой может взглянуть на него.

1 Ответ

0 голосов
/ 22 ноября 2018

Вам нужно добавить click обработчик событий на каждую вкладку и в функции обратного вызова получить соответствующий фрейм кликаемой вкладки и изменить атрибут сброса src или использовать Location.reload()

document.querySelectorAll('#myTab a').forEach(function(ele){
  ele.onclick = function(){
    var iframe = document.querySelector(this.dataset.target+'>iframe');
    iframe.src = iframe.src;
  }
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<ul class="nav nav-tabs" id="myTab">
  <li class="active">
    <a data-target="#home" data-toggle="tab">Enter</a>
  </li>
  <li>
    <a data-target="#profile" data-toggle="tab" >Display</a>
  </li>
  <li>
    <a data-target="#messages" data-toggle="tab">Search</a>
  </li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="home">
    <iframe src="https://stacksnippets.net/"></iframe> 
  </div>
  <div class="tab-pane" id="profile">
    <iframe src="https://stacksnippets.net/"></iframe>
  </div>
  <div class="tab-pane" id="messages">
    <iframe src="https://stacksnippets.net"></iframe>   
  </div>      
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...