jQuery Fancybox を使用して、iFrame で開いたページで JavaScript 関数を呼び出そうとしています。
$(".testbox").fancybox({
maxWidth : 800,
maxHeight : 600,
fitToView : false,
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
afterShow: function() {
//var frameID = $('#fancybox-frame')
//frameID.getParam("test");
}
});
$(".testbox").each(function() {
var element = this;
$(this).fancybox({
'titleFormat' : function() {
var astring = '<span>' + element.id + '</span>';
alert(astring);
}
});
});
HTML:
<a class="testbox fancybox.iframe" href="include/testFrame.html">Iframe</a>
私が呼び出そうとしている testFrame.html の関数:
function getParam(param) {
alert(param);
}
通常、Fancybox ポップアップを使用せずに iFrame で関数を呼び出すときにこれを行います。
document.getElementById('myFrame').contentWindow.getParam();
しかし、Fancybox を使用する場合、iFrame 全体の ID を取得する方法がわかりません。どんな助けでも大歓迎です!
編集: 私もこのコードを試しましたが、これも機能しませんでした.IEでエラーが発生しました:オブジェクトはこのプロパティまたはメソッドをサポートしていません. 読み込んでいるページに機能があることを確認しました
var $f = $("#fancybox-frame");
var fd = $f[0].document || $f[0].contentWindow.document;
fd.getparam("test");