1

iframe fancybox windowでカスタム HTML コードを設定または更新する必要があります。どうすればそれができますか?「コンテンツ」オプションは機能しません! ローカルホストでテスト済み。

  $("test").fancybox({
  'width'    : 300,
  'height'   : 300,
        'autoScale'      : false,
        'type' : 'iframe',
        'content' : '<H5> It`s does not work</h5>'
 });

私の場合のように、クロスドメインのiframeのコンテンツを変更することが不可能な場合は、同じドメインで行う方法を教えてください。たとえば、http://localhost/page1.htmlと http://localhost/page2.html への iframe リンクを使用しています。

4

1 に答える 1

2

fancybox-iframe が既に開いている場合は、 を使用して iframe-element にアクセスできます$('.fancybox-iframe')

また、iframe 内のドキュメントが同じドメインにある場合は、jQuery を使用してコンテンツを変更できます。

$('body',$('.fancybox-iframe').contents()).html('new content');

fancybox-iframe がまだ開いていない場合は、afterLoad-callback 内で同じことを行うことができます。

$("test").fancybox({
  'width'    : 300,
  'height'   : 300,
        'autoScale'      : false,
        'type' : 'iframe',
        'href':'page2.html',
        afterLoad:function(){$('body',$('.fancybox-iframe').contents())
                              .html('new content');}
 });

はい: クロスドメイン iframe のコンテンツを変更することはできません (この場合、完全に新しいドキュメントを iframe にロードすることしかできません)。

于 2012-11-10T14:15:24.637 に答える