クリック時にiframeをロードしたいのですが、これはこれまでのものです。
$("#frame").click(function () {
$('this').load("http://www.google.com/");
});
機能しません。これは完全なコードです: JS Bin
$("#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でロードすることを明確に許可していないため、スクリプト自体は現在そのままでは機能しませんメソッドは、相対パスを使用して独自のドメインからページをロードするために使いやすいものでなければなりません。