0

多くのページで動的にiFrameを作成しています。iFrameには、ユーザーが情報を入力するためのダイアログが含まれています。複数のWebサイトがこの同じダイアログを使用する必要があるため、これは別のWebサーバー上にあります。ユーザーがデータの入力を終了すると、divの表示をnoneに変更するだけで、ダイアログが非表示になります。唯一の問題は、iFrameがまだそこにあり、透過的ですが、iFrameの下のコンテンツをクリックできないことです。とにかく、iFrame内のダイアログが指定されたアクションを実行すると、iFrameが存在するページに表示されないようにiFrameが変更されますか?

var PageOutput = "<iframe id=\"FiFrame\" src=\"myPage-1.html\" style=\"display: none; border: none; overflow: hidden; height: 500px; width: 300px; position:absolute; left: 0; top: 0;\"></iframe>";
var Icon = "<a href=\"#\" id=\"FLink\"><img src=\"images/feedback_button.png\" alt=\"\" style=\"position: fixed; right: 40%; top: 20%;\"/></a>";
$(document).ready(function() {
$(PageOutput).appendTo( document.body );
$(Icon).appendTo( document.body );
$('#FLink').click(function() {
    $('#FiFrame').fadeIn(1000);
    });
});
4

1 に答える 1

0

元のページに電話をかけるために、いくつかのクロスサイトボッジングを行うことができます。

  • ページ1.トップページ(サイト-example1.com)が読み込まれます...

  • ページ2.iframe(サイト-example2.com)。完了時にロード...

  • ページ3.javscriptを使用したiframe(サイト-example1.com)。

ページ3は、ロード時にトップウィンドウを呼び出すためのスクリプト(window.top.hideIframe()..など)を含むページである必要があります。

また、ページ2は、ページ3を呼び出すときに正しいサイトを呼び出すことができるように、元の呼び出しサイトを知っている必要があります。

これが意味をなさない場合は申し訳ありません。

于 2012-12-05T03:13:47.960 に答える