我有一个基于ngxadmin构建的Angular应用程序。
该应用程序在不同的仪表板之间切换。每个仪表板都有一个带有一些嵌入式图表的iframe。
问题在于,每次更改仪表板时,iframe都会重新加载。
与主要的Angular应用程序(完全缓存)相比,重新加载需要1-2秒钟,并且不是超级快速的。
问题在于每次将iframe注入到HTML中时,它会导致重新加载。渲染的内容不会被保留。
我已经在很多地方阅读过这个问题,这是iframes的基本设计。如果您将它们从DOM中删除/插入回去,它们将重新加载。
我还尝试了使用HTTP缓存和CDN(Fastly)使它们尽可能快。这改善了情况,但我仍然面临着这些慢速加载时间。
有没有办法可以防止每次重新加载iframe?
有没有办法让angular不删除HTML内容,而只是将其显示为none,以便它仍然实际上是DOM的一部分?
另一个想法是将iframe渲染隐藏,然后复制body innerHTML并将其移动到我的angular应用程序中。然后只需使用该内容。我不是特别担心安全性,因为我控制两个应用程序,但我想在这一点上CSS会出问题。
一个想法是我可以将预渲染的HTML直接写入iframe,而不是每次从“src”获取它。
https://github.com/akveo/ngx-admin
它是在Angular 4.4.6上运行的。该应用程序在不同的仪表板之间切换。每个仪表板都有一个带有一些嵌入式图表的iframe。
问题在于,每次更改仪表板时,iframe都会重新加载。
与主要的Angular应用程序(完全缓存)相比,重新加载需要1-2秒钟,并且不是超级快速的。
问题在于每次将iframe注入到HTML中时,它会导致重新加载。渲染的内容不会被保留。
我已经在很多地方阅读过这个问题,这是iframes的基本设计。如果您将它们从DOM中删除/插入回去,它们将重新加载。
我还尝试了使用HTTP缓存和CDN(Fastly)使它们尽可能快。这改善了情况,但我仍然面临着这些慢速加载时间。
有没有办法可以防止每次重新加载iframe?
有没有办法让angular不删除HTML内容,而只是将其显示为none,以便它仍然实际上是DOM的一部分?
另一个想法是将iframe渲染隐藏,然后复制body innerHTML并将其移动到我的angular应用程序中。然后只需使用该内容。我不是特别担心安全性,因为我控制两个应用程序,但我想在这一点上CSS会出问题。
一个想法是我可以将预渲染的HTML直接写入iframe,而不是每次从“src”获取它。