0

うまくいけば、私はこの権利を求めています..

私の状況は次のとおりです。iframe内で実行されているhtmlがあり、コントローラー呼び出しを行って、参照されているjavascriptファイルを含むビューを取得します..

そう..メインページ:

<html>
<body>
<iframe src="page2.html" />
</body>
</html>

page2.html:

<html>
<body>
<script>
$.ajax({
  url: "controller\myview",
  type: "POST",
  data: null,
  dataType: "html"
}).done(function(view) {
 var body = $(window.top.document.body);
 body.append(view);
});
</script>
</body>
</html>

myview は典型的なものを返しますが、その下部にフォームのダイアログを作成するタグがあります。ここでの要点は、jquery ui ダイアログを iframe の外側に取得することです。これは、DOM を検査すると、iframe の外側にあります。ただし、現在メインページにあるjavascriptが実行されると、iframeまであると思われるようです。

スコープに問題があるようですが、回避する方法がわかりません。スクリプトタグをメインページに配置すると、それ自体がiframeの外側にスコープされることを期待していましたが、スコープファイルをヘッドタグに移動しようとしてもうまくいきませんでした..

助言がありますか?

4

2 に答える 2

1

代わりにメインページで ajax 呼び出しを実行できるのに、コントローラー/myview への ajax 呼び出しを実行するページの iFrame があるのはなぜですか? メインの html ページで ajax 呼び出しを行うと、それを独自のスコープで処理できます。これにより、スコープ全体の問題が解消され、その間に冗長な iFrame が取り除かれます。あなたの質問を誤解している場合は申し訳ありませんが、少し混乱しています。

于 2013-08-02T20:31:25.110 に答える