Как загрузить URL в iframe с помощью Jquery - PullRequest
42 голосов
/ 24 августа 2011

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

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

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

Ответы [ 5 ]

95 голосов
/ 24 августа 2011
$("#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>
9 голосов
/ 11 ноября 2012
$("#frame").click(function () { 
    this.src="http://www.google.com/";
});

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

9 голосов
/ 24 августа 2011

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

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

1 голос
/ 10 августа 2017

здесь вид Ифраме:

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

    </iframe>

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

 $('#ifmReport').attr('src', '/ReportViewer/ReportViewer.aspx');
0 голосов
/ 16 мая 2016

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...