在不使用iframe的情况下隔离HTML元素

时间:2016-04-13 09:50:29

标签: javascript html angularjs asp.net-mvc iframe

我正在使用MVC构建angular应用程序作为客户端框架。我正在加载标签内的所有视图;用户可以多次打开相同的视图,这就出现了问题。

当用户两次打开相同的视图时,会有重复的ID ,因此某些html属性无法正常工作(例如" for"属性for" label" element)

我知道,我可以生成随机ID以避免此问题,但在我的情况下这是不可接受的。

我需要的是隔离视图根(div元素),以便它不会干扰其他元素,例如iframe但不使用iframe:)

1 个答案:

答案 0 :(得分:1)

你做不到。 DOM结构位于document和后面的window内。只能有一个Integer integer = new Integer(42); System.out.println(integer); pr(i)帧。

您可以执行的操作以及最常用的方法是为特定选项卡/视图生成UUID。此UUID必须在您的后端可用,并且是您将表单帖子指向正确的上下文的方式。

现在,在为每个标签生成HTML时,请使用UUID对您的ID进行后缀。但请记住,如果您的主视图在没有页面重新加载的情况下是100%静态的,那么DOM将继续堆叠 - 并最终占用大量内存。