我想在点击时加载iframe,这是我到目前为止所拥有的:
$("#frame").click(function () {
$('this').load("http://www.google.com/");
});
它不起作用。这是完整的代码:JS Bin
答案 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加载这个页面,但是这个方法应该易于使用,以便使用相对路径从您自己的域加载页面。