検索

ホームページ  >  に質問  >  本文

jquery - jquey tabs ajaxロードHTMLの競合問題?

タブのロードの html には js、html、id が含まれている可能性があります。解決するにはどうすればよいですか?

(iframe は必要ありません。iframe をロードするたびに、明らかにロードほど良くありません。キャッシュされている場合でも、大量の初期化が必要です。また、内部でダイアログを表示するのは非常に困難です。 iframe の外側にある場合、同じダイアログが複数のページに表示されます)

迷茫迷茫2756日前884

全員に返信(1)返信します

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 16:51:51

    3 つのオプションがあります:

    1. 何らかの命名規則を使用して、ID を競合しない形式に変更します。この解決策は被験者の要件に最も合致していないように見えますが、後の段階で多くの問題が軽減されるため、個人的にはこれをお勧めします。これらの HTML が論理的に同じインターフェイス上にある場合は、異なる ID を持つ必要があります。そうしないと、将来ロジックとスタイルを記述するときに問題が発生します。

    2. タブの HTML のみに ID の競合があり、同時に表示されるタブが 1 つだけであると仮定すると、タブを切り取るたびに表示されていないタブを DOM から切り離し、必要に応じて追加することを検討できます。 。

    3. <iframe src="about:blank"></iframe>contentWindow を設定して、<iframe src="about:blank"></iframe> を使用します。 document.body.innerHTML はそのコンテンツを変更できます。それでも HTML の外部スタイルやスクリプト、さまざまなダイアログをうまく表示できるようにしたい場合は、さまざまなハック方法を使用することもできますが、それでもトラブルの絶えないハックです。 <iframe src="about:blank"></iframe> 来显示 html,通过设置 <iframe>contentWindow.document.body.innerHTML 可以修改它的内容。如果还希望能很好的显示 html 的外带样式和脚本,还有各种 dialog,也可以有各种 hack 的方法,但总归是个 hack,后患无穷。

    P.S. 应题主要求,补充一些 hack 的思路。

    1. 如何让 jQuery UI 的 dialog 默认插入到指定的地方?

    可以通过下面代码覆盖 dialog 的默认选项,其中关键的是 appendTo

    追伸 トピック所有者のリクエストに応じて、ハックのアイデアをいくつか追加します。

    🎜 🎜 jQuery UI のダイアログをデフォルトで指定された場所に挿入させるにはどうすればよいですか? 🎜 🎜次のコードを使用してダイアログのデフォルトのオプションをオーバーライドできます。重要なオプションは appendTo オプションです。 🎜 リーリー 🎜このオプションはタブをロードする前またはタブを切り替えた後に毎回設定し、現在表示されているタブノードに設定します。 🎜

    返事
    0
  • キャンセル返事