Bac*_*cko 7 ruby ruby-on-rails image ruby-on-rails-3 web
我正在使用Ruby on Rails v3.0.9,我想检查一个图像(在我的情况下是一个favicon.ico图标图像)是否从网站成功检索到,如果不是,我想显示一个自定义图像.
为了检索favicon.ico与网站相关的图像,在我的视图文件中,我有:
image_tag "#{web_site.link}/favicon.ico", :size => "16x16"
Run Code Online (Sandbox Code Playgroud)
其中的web_site.link值类似于以下内容:
http://stackoverflow.com/
http://www.stackoverflow.com/
http://facebook.com/
...
Run Code Online (Sandbox Code Playgroud)
如何检查网站上是否找到图像(可能if ... else ... end在处理图标图像之前使用语句或执行某些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%>
Run Code Online (Sandbox Code Playgroud)
jQuery方法涉及更多.我建议以下内容:
<img>带有透明间隔图像的标签$.ajax远程镜像的调用
<img>中用远程图像的url 替换'src<img>中用后备图像的url 替换'src不幸的是,我现在没有时间为此生成确切的代码.
| 归档时间: |
|
| 查看次数: |
3015 次 |
| 最近记录: |