【问题标题】:Image tag within javascript - railsjavascript中的图像标签-rails
【发布时间】:2014-04-08 00:16:35
【问题描述】:

我在 Rails 应用程序的视图中有一行 javascript:

<script>

$(this).find("img").attr("src", "/assets/img5.png"); 

</script>

如您所见,我对图像路径进行了硬编码。这在本地运行良好,但在生产中运行不佳,因为我通过 cdn 提供资产。

如何在不弄乱 javascript 的情况下包含图像标签?

【问题讨论】:

  • 资产在CDN上的路径是什么?
  • 我想完全避免硬编码。
  • 是的,但答案取决于 CDN 路径的结构。
  • 对不起! cdn.example.com/assets

标签: javascript ruby-on-rails ruby asset-pipeline


【解决方案1】:

玩了一会儿,我发现了一些有用的东西:

<script>

$(this).find("img").attr("src", '<%= asset_path 'img5.png' %>'); 

</script>

看起来asset_path 完成了工作。

【讨论】:

  • 是的,看起来可行。 asset_path 的主机来自配置文件,该文件自动附加 cdn 路径。
  • 是的!奇迹般有效! :)
【解决方案2】:

我会使用类似的东西

jQuery('img[src*="signup_arrow.png"]')

无需更改大部分当前代码。这里src*表示“signup_arrow.png”可以是图片src的子字符串。

通常 CDN url 为 http://cdn.example.com/signup_arrow.png?13304 以使用选择器查找给定的图像名称作为子字符串帮助。

【讨论】:

  • 能不能把你试过的错误响应和代码贴上去,有助于调试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
相关资源
最近更新 更多