【问题标题】:Unable to load image after template is rendered using Router in Meteor使用 Meteor 中的路由器渲染模板后无法加载图像
【发布时间】:2013-10-24 17:10:20
【问题描述】:

我正在运行 Meteor 0.6.6.1,使用包 Router,我所有的图像都在 public 文件夹中。 我的问题是:当我在 URL 根目录 (http://localhost:3000) 中,模板渲染后,我可以加载图像,如下图所示使用控制台:

但是当我在另一个 URL (http://localhost:3000/orderProduct/frame1) 中使用路由器驱动正确的模板时,在模板渲染后我无法加载相同的图像,如下图所示:

我们可以从控制台的输出中看到,唯一的区别是众所周知的 Chrome 对内容类型的警告。

我想在模板渲染后在路由 URL 中加载图像。有人可以帮助我吗? 提前致谢。

【问题讨论】:

  • 也许你应该编辑你的帖子并显示一些代码?!

标签: image templates meteor router


【解决方案1】:

您对图片使用相对 URL,即不以 / 开头的图片。在这种情况下,浏览器会搜索与当前文档路径相关的图像。所以在第二种情况下,它在orderProduct 文件夹中搜索,该文件夹不存在 - 因此出现错误。查看浏览器尝试获取的图像 URL 是什么,这在两个示例中有所不同。

要解决您的问题,请使用绝对路径,以/ 开头的路径:

$('body').append('<img src="/imageName.png">');

在这种情况下,浏览器会在当前服务器上的给定路径中查找照片,无论当前页面地址是什么,它都会找到它。

【讨论】:

  • 解决了!我知道 Meteor 提供了 /public 文件夹中的所有内容,但我忘记将此地址放在图像 src 中。非常感谢,@Hubert OG!
猜你喜欢
  • 2015-12-30
  • 1970-01-01
  • 2015-05-24
  • 2016-01-16
  • 2015-02-15
  • 1970-01-01
  • 2015-12-24
  • 2021-03-04
  • 2014-12-14
相关资源
最近更新 更多