gpt4 book ai didi

ruby-on-rails - 如何检查是否在网站上找到了图像?

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:03 25 4
gpt4 key购买 nike

我正在使用 Ruby on Rails v3.0.9,我想检查图像(在我的例子中是 favicon.ico 图标图像)已成功从网站检索到,如果没有,我想显示自定义图像

为了检索与网站相关的 favicon.ico 图像,在我的 View 文件中我有:

image_tag "#{web_site.link}/favicon.ico", :size => "16x16"

其中 web_site.link 值类似于以下内容:

http://stackoverflow.com/
http://www.stackoverflow.com/
http://facebook.com/
...

如何检查是否在网站上找到了图片(可能使用 if ... else ... end 语句或在 to 之前执行一些 HTTP 请求处理网站图标图像)以及如何处理上述情况?

最佳答案

以下是如何实现您在原始问题中的想法。

此方法的问题在于您的响应时间将包括其他域响应您的图像请求所需的时间。如果那个网站有 问题,那么您的页面将不会加载,直到请求超时。

<%
img_url = 'http://adomain.com/image.jpg'
res = Net::HTTP.get_response(URI.parse(img_url))
img_url = '[my alternate url]' unless res.code.to_i >= 200 && res.code.to_i < 400 #good codes will be betweem 200 - 399
%>

<%=image_tag img_url%>

jQuery 方法有点复杂。我建议如下:

  • 创建一个 <img>带有透明间隔图像的标签
  • 在页面的 javascript 中运行 $.ajax调用远程图像
    • 在成功回调中替换<img>带有远程图像 url 的 src
    • 在失败回调中替换<img>带有后备图片 url 的 src

不幸的是,我现在没有时间为此生成确切的代码。

关于ruby-on-rails - 如何检查是否在网站上找到了图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com