Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有多少种方法可以转义或关闭HTML标记?_Javascript_Html_Css - Fatal编程技术网

Javascript 有多少种方法可以转义或关闭HTML标记?

Javascript 有多少种方法可以转义或关闭HTML标记?,javascript,html,css,Javascript,Html,Css,我正在编写代码来处理错误,其中一部分是向用户打印一条消息(例如“哎哟!”) 但是,错误代码不知道以前发生了什么,因此存在隐藏错误消息的危险 例如,如果在生成Javascript时发生错误怎么办?然后HTML输出将如下所示: .... <script> var x = Whoops! 。。。。 哇! 然后,就用户所见,没有错误消息,页面只是停止 通常的解决方案是在打印错误消息之前打印大量的结束标记: '">--></script></table>

我正在编写代码来处理错误,其中一部分是向用户打印一条消息(例如“哎哟!”)

但是,错误代码不知道以前发生了什么,因此存在隐藏错误消息的危险

例如,如果在生成Javascript时发生错误怎么办?然后HTML输出将如下所示:

....
<script>
var x = Whoops!
。。。。
哇!
然后,就用户所见,没有错误消息,页面只是停止

通常的解决方案是在打印错误消息之前打印大量的结束标记:

'">--></script></table>Whoops!
“>-->哎呀! 用户可能会在页面上看到额外的内容,如“>-->”,这并不整洁,但他们会看到错误消息,这是很重要的

所以我的问题是,您可以在上面的字符串中放置哪些其他结束标记,以确保用户始终可以看到错误消息


编辑:是的,我知道这不是最好的方法,输出缓冲可能是一种更好的技术。对不起,在最初的问题中,我应该知道我不能使用输出缓冲来实现这一点。

确保显示错误消息的唯一正确方法是完全按照正确的顺序关闭之前打开的标记他们打开了门

其他的一切都是杂乱无章的HTML。由于浏览器的宽大,它通常可以工作,但这并不是一个好的解决方案

处理这一问题的最佳方法是在输出HTML之前,执行所有必要的操作-我假设您在这里谈论的是服务器端操作,对吗?-通过输出缓冲,或者在最后一步将所有计算值填入HTML模板


这样,如果出现错误,您可以将用户重定向到错误页面,或者显示专门用于显示错误的HTML结构。

解决方案之一是缓冲输出并仅在页面完全呈现时打印页面。如果出现这种情况,您将能够呈现带有错误消息的正确页面。即使呈现错误页面失败,您将能够只输出文本消息。用户将永远看不到完成了一半的页面。

您可以做的一件事是添加

<script>window.onload = function () { document.write('<!DOCTYPE html>Whoops!'); };</script>
window.onload=function(){document.write('Whoops!');};
在弹幕中的
标记之后


如果启用javascript,document.write会将现有页面吹走,只留下错误消息。

我认为,这个问题应该是一个社区wiki,因为没有一个正确的答案,但我看不出如何使它成为一个正确的答案?正如答案中提到的,没有办法做到这一点。您提出的解决方案在e

ERROR

通过正确的错误处理,我认为这不会是一个经常遇到的情况。如果您在生成任何输出块时遇到问题,上面的代码应该能够捕获错误并以干净的方式显示。您必须维护这些遗留代码吗?从另一方面来说,我建议您重新构造我的t、 我可以建议您将用户重定向到错误页面,而不是使用垃圾html将其保留在页面上。是的,我知道这不是最好的方法,输出缓冲可能是一种更好的技术。对不起,在最初的问题中,我不应该使用输出缓冲。编辑的Q。@James在这种情况下,没有好的way、 你只能随机抛出结束标记,希望它们足够。但是,如果你有可能分析目前发送的HTML,你可以发送正确的标记,我知道这不是最好的方法,输出缓冲可能是一种更好的技术。对不起,在最初的问题中,我不能使用输出缓冲为这个做准备。编辑Q。