在线 HTML 编辑器如何防止无效用户代码导致的错误?
How do online HTML editors prevent bugs from invalid user code?
我构建了一个基于浏览器的 HTML/Markdown 代码编辑器,它似乎在大多数情况下都运行良好。当用户更新代码等时,我有实时渲染预览。我已经清理了任何 <script>
标签,但允许使用其他元素,例如 <div>
或 <style>
。
问题是如果用户使用无效 HTML 保存文档(即未关闭的 <style>
标签等),在重新加载文档时,由于我的原因,整个站点将无法运行HTML 个元素被用户代码中未关闭的标签“吃掉”。
问题:是否有可靠的策略在隔离的容器中呈现用户代码,以便该容器内的错误不会渗入页面的其余部分?
我正在使用 Javascript 和 React。这似乎是 iFrames 的一个用例,但我已经被打败了 iFrames never 一个好主意,并且 always a做你想做的事的更好方法。
Iframe 是此类问题的完美解决方案。过度使用它们可能会在页面上出现问题,但在这种情况下,它是完成这项工作的正确工具。
也不知道为什么会被打成这样,frame
标签总是不好的,但是 iframes
谨慎使用是有用的。
我构建了一个基于浏览器的 HTML/Markdown 代码编辑器,它似乎在大多数情况下都运行良好。当用户更新代码等时,我有实时渲染预览。我已经清理了任何 <script>
标签,但允许使用其他元素,例如 <div>
或 <style>
。
问题是如果用户使用无效 HTML 保存文档(即未关闭的 <style>
标签等),在重新加载文档时,由于我的原因,整个站点将无法运行HTML 个元素被用户代码中未关闭的标签“吃掉”。
问题:是否有可靠的策略在隔离的容器中呈现用户代码,以便该容器内的错误不会渗入页面的其余部分?
我正在使用 Javascript 和 React。这似乎是 iFrames 的一个用例,但我已经被打败了 iFrames never 一个好主意,并且 always a做你想做的事的更好方法。
Iframe 是此类问题的完美解决方案。过度使用它们可能会在页面上出现问题,但在这种情况下,它是完成这项工作的正确工具。
也不知道为什么会被打成这样,frame
标签总是不好的,但是 iframes
谨慎使用是有用的。