【问题标题】:How to get PHP / JavaScript error popups to appear styled properly?如何让 PHP / JavaScript 错误弹出窗口以正确的样式显示?
【发布时间】:2013-08-21 19:12:01
【问题描述】:

这是一个初学者的问题——肯定已经回答了,但我不知道如何找到它:

当在处理 PHP 脚本或可能的 JavaScript 期间弹出编码/系统错误消息时,其标题通常是“本地主机上的页面 [或其他 URL] 说:强>”。它的内容通常包括大量未渲染的 HTML 代码(<b><br> 等)、对 PHP 手册的长引用、实际错误消息以及对错误发生位置的引用。因为 HTML 被忽略,整个对话框很难阅读。

我怎样才能让这些窗口以正确的样式显示,正如“PHP 或 JavaScript 的人们”所期望的那样,或者至少以带有换行符的简单文本显示?

请注意:我打算弹出错误消息以响应任何用户操作;我不知道是什么导致了这条消息。另外,我不是在寻求有关如何制作用户友好型软件或如何进行持续开发和交付的建议

【问题讨论】:

  • 您是在谈论 javascript 警报吗?它们不能被样式化。它们内置在浏览器中,存在于网页无法访问的层中。您可以使用类似 jquery ui 对话框的东西来替换警报。
  • 这可能是一个 AJAX 库向 PHP 脚本发出请求,PHP 脚本启用了错误报告,因此 AJAX 库在解析响应时出现问题(例如无效的 XML 或 JSON),因此给出了一个响应的警报。或者由于错误,HTTP 响应代码不是 200,然后 javascript 进入 AJAX 请求的错误处理程序并显示警报。也许是这样?
  • @JonathanKuhn(我想还有 MarcB 和 joellustigman):不,这不是 my 信息。是的,我是错误的原因。是的,我应该成为一个更好的人/程序员,而不是一开始就犯错误。 有人写了这些错误消息,大概他们希望其他人能够阅读它们。
  • @hakre:也许是这样,但我认为您的回答是正确的,谢谢。
  • 我已经成功编写了一个基于 Web 的 GIS 应用程序原型,并且不再寻求答案。然而,有人 已决定“给我一个教训”,以回应我在另一个网站上提出的问题,并否决了这个问题。所以我回来进行改进......

标签: javascript php error-handling modal-dialog


【解决方案1】:

如何让这些窗口按预期正确显示样式?

我不知道您在说哪个窗口,但是从您的其余描述中,我觉得您想关闭 HTML 错误以便获得错误消息的纯文本版本。

PHP 有a setting for that Docs:

html_errors 布尔值

关闭错误消息中的 HTML 标签。 HTML 错误的新格式会生成可点击的消息,将用户引导至描述错误或导致错误的功能的页面。这些引用受docref_rootdocref_ext 的影响。

所以你需要做的就是在你的 php.ini 中关闭 if:

html_errors = 0

或在您的代码中:

<?php

ini_set('html_errors', 0);

您可能还对以下内容感兴趣:

【讨论】:

    【解决方案2】:

    您的错误绝不会出现在生产网站上!!

    如果您正在讨论在开发过程中处理错误,请查看the Whoops library。它会给你你想要的一切,还有更多。

    这是他们主页上的一段话:

    whoops 是一个不错的小库,它可以帮助您以一种不那么痛苦的方式处理错误和异常,从而帮助您更好地开发和维护您的项目。

    查看他们的demo here。您可以单击左侧以浏览堆栈。真的很酷。

    【讨论】:

    • 请您删除粗体文本/标题好吗?虽然这是很好的一般建议,但我认为它与您的其他建议无关——非常感谢。谢谢。
    猜你喜欢
    • 2021-10-22
    • 2014-12-22
    • 2022-01-03
    • 2012-02-20
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 2016-03-19
    • 2015-09-19
    相关资源
    最近更新 更多