【问题标题】:How to rewrite this function to handle console error 404如何重写此函数以处理控制台错误 404
【发布时间】:2021-06-15 03:10:45
【问题描述】:

我有一个通过修改 URL 来根据用户输入显示图像的功能。当找不到该图像时,控制台会引发 404 错误。

我想做的是:

如果发生该错误,我想写“对不起,我们找不到具有该名称的公司”但我所做的似乎不起作用,因为我的 IF 语句可能是错误的,但我不知道我的元素是什么应该将错误404与???

这是Javascript:


let companyImageLink = document.getElementById("companyImage");

function changeLogoImage(str)
{ 
    companyImageLink.src = "https://logo.clearbit.com/" + str + ".com"

    if (companyImageLink.src === 404 || companyImageLink.src === 404 )
        return searchedName.innerHTML = "Sorry , we could not find a company with that name"
}

这是 HTML:

    <div id="companyLogo" style="visibility : hidden;">
        <div id="companyName" style="font-size: xx-large;"></div>
        <div><img src="" style="height: 120px; width: 120px;" id="companyImage"></div>
    </div>


【问题讨论】:

  • src 的图像元素未填充 404 状态代码。您必须向图像元素添加错误侦听器,请参阅 stackoverflow.com/questions/9815762/… 。也可以向服务器发出 AJAX 头请求以检查图像是否存在。这仅适用于存储在您自己的服务器中的图像。
  • 好的,谢谢@Teemu。我做了你说的,它似乎工作......这是代码更改:function changeLogoImage(str) { companyImageLink.src = "logo.clearbit.com" + str + ".com" companyImageLink.addEventListener("error" , function (){ searchedName.innerHTML = "抱歉,我们找不到同名的公司" }) }

标签: javascript http http-status-code-404


【解决方案1】:

我接受了 Teemu 的建议,并在图像元素中添加了一个错误 EventListener ,这符合我最初的意图。

对于其他有问题的人,这些是代码更改:

let companyImageLink = document.getElementById("companyImage");

function changeLogoImage(str)
{ 
    
    companyImageLink.src = "https://logo.clearbit.com/" + str + ".com"
    
    companyImageLink.addEventListener("error" , function ()
{ 
        searchedName.innerHTML = "Sorry, we could not find  a company with that name"
     })
}


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 2011-11-20
    相关资源
    最近更新 更多