我正在用 JavaScript 构建图像以加载图像,包括提供 onerror 函数以防出现问题。在那种情况下,我想了解有关错误原因的更多信息,例如,图像是否丢失,或者是否存在网络问题、安全限制......
服务器端,我不只是提供静态图像,我实际上是先使用 PHP 进行一些检查。理想情况下,我希望我的服务器能够发送图像,但如果不能,则提供某种自定义文本消息。
onerror() 函数似乎没有提供任何额外信息,除了是否触发。我可以在单独的调用中向服务器询问更多信息,但如果它可以访问已发送和接收的信息,我的代码会简单得多。
我能否获得有关 onerror() 触发原因的更多信息(任何信息)?我可以从 PHP 发送一条 JavaScript 可以访问的自定义错误消息吗?
最佳答案
为了回答我自己的问题,我相信 adeneo 留下的评论是正确的 - onerror 方法不包含我想要的信息,所以我想要的是行不通的。但是,CBRoe 关于提供替代图片的建议让我开始思考。
警告!丑陋的黑客如下:
我根据服务器想要发送的“错误消息”传送不同的图像。它们可以被显示,或者作为 hack,JavaScript 可以分析图像。大量数据可以编码为像素数据,但读取起来很痛苦。相反,对于我有限数量的错误条件,我确保每个图像彼此之间以及有效图像具有不同的宽度和/或高度(对于我的应用程序,有效图像具有最小高度),因此我可以快速确定发送了哪个图像,以及它发出的错误信号。
我不推荐这样做,但它可以快速解决我的情况。
关于javascript - 有关 JavaScript Image onerror 原因的更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25193096/