如何使用Jquery在iframe中加载网址

时间:2011-08-24 14:24:04

标签: jquery iframe load

我想在点击时加载iframe,这是我到目前为止所拥有的:

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

它不起作用。这是完整的代码:JS Bin

5 个答案:

答案 0 :(得分:95)

$("#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>

答案 1 :(得分:9)

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

有时普通的JavaScript比jQuery更酷,更快; - )

答案 2 :(得分:8)

试试$(this).load("/file_name.html");。此方法以本地文件为目标。

您还可以定位远程文件(在其他域上),请查看:http://en.wikipedia.org/wiki/Same_origin_policy

答案 3 :(得分:1)

这里是iframe:

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

    </iframe>

将其加载到脚本中:

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

答案 4 :(得分:0)

以防任何人仍然偶然发现这个老问题:

从某种意义上说,代码在理论上几乎是正确的,问题是使用$(&#39; this&#39;)代替$(this),因此告诉jQuery寻找标签。

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

脚本本身现在不能正常工作,因为load()函数本身是一个AJAX函数,谷歌似乎没有特别允许使用AJAX加载这个页面,但是这个方法应该易于使用,以便使用相对路径从您自己的域加载页面。