动态网络应用程序在开始将其输出 html 流式传输到网络浏览器后可能会遇到错误。 在意识到错误的那一刻,可以将哪些 html block 附加到输出流以尝试将 html 修补成可能成功呈现基本错误消息的内容?
考虑
- 您对最近发送的内容没有任何缓冲,因此您完全不知道可能已发送的内容。
- 输出可能在 html 文档的任何位置停止,例如在 html 标记、注释、属性、样式、脚本等的中间....
我在想一个策略可能是尝试通过使用引号和各种结束标记来关闭任何打开的上下文,然后在 div 上使用绝对定位来覆盖整个视口(viewport),希望隐藏任何损坏的内容。例如,我可以附加以下内容:
"
'
-->
>
</script>
</style>
</div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000;">
My Error Message
</div>
Not Acceptable 答案:
- 建议完全缓冲输出的答案,以便在意识到错误时可以完全丢弃。流式传输有时是可取的,甚至是必要的。
- 以某种方式建议解决导致错误的潜在问题的答案。稳健的工程总是针对“假设”场景进行规划。
最佳答案
你给出的例子已经很好了,但我建议附加 </body>
在您的错误消息之前 - 这将提示浏览器关闭与打开的一样多的 HTML 标签(HTML 旨在处理丢失的结束标签)。这样你就不必担心关闭可能的几十个嵌套 div 和你的消息在页面下方的某个地方丢失以及绝对定位(你是说 fixed
吗?)相对于其他具有位置的元素。
关于html - Web 应用程序分类 : appending some html to hide broken html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27696709/