2016-04-13 7 views
0

MVCアプリケーションをクライアントサイドフレームワークとしてangularで構築しています。私はタブ内のすべてのビューをロードしています。ユーザーは同じビューを複数回開くことができ、ここで問題が発生します。iframeを使わずにHTML要素を分離する

ユーザーが二度同じビューを開いたとき、それゆえにいくつかhtmlの属性が(「ラベル」要素の属性「を」例えば)が正しく動作しません重複IDががあるでしょう

私が知っている、私がすることができますこの問題を避けるためにランダムなIDを生成しますが、これは私の場合は受け入れられません。私は必要なもの

は、ビューのルート(DIV要素)を単離することであるので、それは他の要素、iframeようなものではなくあなたがすることはできませんiframe :)

+0

好奇心の邪魔をして、なぜIDのシーケンスを生成したくないのですか? (ランダムでは一意性が保証されません)。 –

+0

それは価値があるため、IDは '

Hi
'のように変わる可能性があり、 'for'と' label'にも適用できます。元の問題をバイパスすることは可能でしょうか? – Jorg

+0

生成されたIDを使用することはできません。ビューは何らかの形でスタティックIDを持つエンドユーザーによって設計されているため、生成されたIDを適用するには文字列操作が必要です。 – Mahdy

答えて

1

を使用せずに干渉しません。 DOM構造は、windowおよびdocumentの内部にあります。ただ1つのwindow pr(i)フレームしか存在できません。

最も一般的なアプローチは、特定のタブ/ビューのUUIDを生成することです。このUUIDは、バックエンドで使用できる必要があり、フォームの投稿を正しいコンテキストに誘導する方法です。

各タブのHTMLを生成している間に、あなたのIDにUUIDを後置してください。しかし、メイン・ビューがページ・リロードなしで100%スタティックであれば、DOMは積み重ねられ、最終的には大量のメモリーを占有します。

+0

私はすでにこのソリューションを実装しましたが、iframeの動作をシミュレートする別の方法があると思いました:) – Mahdy

関連する問題