像在 iframe 中一样动态加载 html



我有一个 ASP.net 4.0网站。用户可以将整个 html 页面保存到后端数据库中。我想做的是将动态内容加载到内容区域中现有页面上的div 中,并有几件事要发生:

我不希望任何 css 影响div 之外的任何内容,当第一次尝试加载一些格式不正确的 html 时,会将图像和其他div 移动到内容区域之外。

很多这些html页面都使用"base"标签作为图像和链接,我希望在div内部尊重基本标签。

我有一个解决方案,我将尝试它只是使用 iframe 并将其 url 设置为另一个子页面,该子页面将动态 html 完全加载到自己的页面中。我只是想知道是否有更好的解决方案。

根据我的评论,如果您要存储相关页面的整个 HTML(包括 <!DOCTYPE><head><body> 等),那么是的,使用 iFrame 是(在我看来)是最好的选择。

几乎不可能阻止"父页面"的继承样式影响"注入"HTML。

但是,这样做的主要缺点是,您几乎无法控制确保iFrame中的HTML以正确的大小显示。 一种选择是使用客户端javacript(或jQuery)来计算HTML的渲染大小,并相应地调整iFrame控件的高度/宽度。但我认为您可能很难使其有效工作。

最新更新