Как загрузить url-адрес в iframe с помощью Jquery

Я хочу загрузить iframe по щелчку, это то, что у меня есть до сих пор:

$("#frame").click(function () { 
      $('this').load("http://www.google.com/");
    });

Это не работает. Это полный код: JS Bin

5 ответов


$("#button").click(function () { 
    $("#frame").attr("src", "http://www.example.com/");
});

HTML-код:

 <div id="mydiv">
     <iframe id="frame" src="" width="100%" height="300">
     </iframe>
 </div>
 <button id="button">Load</button>

$("#frame").click(function () { 
    this.src="http://www.google.com/";
});

Иногда простой JavaScript даже круче и быстрее, чем jQuery ; -)


попробовать $(this).load("/file_name.html");. Этот метод предназначен для локального файла.

вы также можете настроить удаленные файлы (в другом домене), взгляните на:http://en.wikipedia.org/wiki/Same_origin_policy


вот Iframe в поле зрения:

<iframe class="img-responsive" id="ifmReport" width="1090" height="1200" >

    </iframe>

загрузите его в скрипт:

 $('#ifmReport').attr('src', '/ReportViewer/ReportViewer.aspx');

на всякий случай, если кто-нибудь еще наткнется на этот старый вопрос:

теоретически код был почти правильным в некотором смысле, проблема заключалась в использовании $('this') вместо $(this), поэтому он сказал jQuery искать тег.

$(document).ready(function(){
  $("#frame").click(function () { 
    $(this).load("http://www.google.com/");
  });
});

сам скрипт не будет работать так, как сейчас, хотя, поскольку функция load() сама по себе является функцией AJAX, и google, похоже, специально не позволяет использовать загрузку этой страницы с помощью AJAX, но этот метод должен быть прост в использовании для загрузки страниц из собственного домена с помощью относительных путей.