【问题标题】:Images not displaying if using file:///c:/如果使用 file:///c:/ 图像不显示
【发布时间】:2011-02-14 18:45:35
【问题描述】:

我正在使用 jQuery 并希望显示来自我的 PC 的图像,而不是托管它们。我有以下内容:

/* works fine: */
.ui-widget-header .ui-icon {
  background-image: url(images/ui-icons_2e83ff_256x240.png);
} 

/* does not work: */
.ui-widget-header .ui-icon {
  background-image: url(file:///C:/ui-icons_2e83ff_256x240.png);
}

当我在浏览器中输入file:///C:/ui-icons_2e83ff_256x240.png 时,它会漂亮地显示实际图像。这两个位置都是有效的图像位置。

这可能与图像是精灵有关吗?有人对此有任何想法吗?非常感谢。

【问题讨论】:

  • 这和jQuery有什么关系?我认为它与 CSS 更相关。 (从标题和标签中删除 jQuery 引用 - 无论如何,如果你能解释与 jQuery 的连接,请将它们放回去)
  • 感谢 Tomalak,我非常专注于这个问题,我只是将它命名为 jQuery - 感谢您纠正我的帖子,这看起来好多了。

标签: css url image


【解决方案1】:

由于安全原因,不可能。

使用“本地”文件路径加载图像的唯一方法是使用其本地文件路径而不是 Web 服务器 URL 来请求页面。例如:

代替:

http://example.com/mypage.html

用途:

file:///C:/path/to/htdocs/mypage.html

【讨论】:

  • 这很奇怪。这有效: .mystyle{ background-image: url(file:///C:/ui-icons_2e83ff_256x240.png);并且在我自己的 div 中使用时会输出以下图像。
    这就是为什么我想知道jQuery在应用图像时是否使用了一些特殊的东西?
  • 另外,我使用的文件是本地文件。
  • 我没有更改 jQuery 代码,除了从哪里检索图像。我正在使用对话框库。我如何将文件位置复制到浏览器中并且它可以工作,这真是太奇怪了。我使用的 html 文件也是本地文件。所以我只是不明白为什么: .ui-widget-header .ui-icon {background-image: url(file:///C:/ui-icons_2e83ff_256x240.png)/*{iconsHeader}*/; } 行不通。我很感激这可能很难帮助我,但是在绞尽脑汁几个小时之后,我想有人可能会说“这就是原因”。 :) 谢谢。
  • 你想做的工作,因为我已经测试过了。您的问题与只有您可以访问的设置有关。可能是文件路径中的正/反斜杠弄乱了窗口,或者您没有转义 javascript 中的某些字符,或者 html/css 无效/正确等。
  • 谢谢扎夫。您能否发布您测试的 CSS 代码以从本地位置读取以下内容? (仅如下一行) ui-widget-header .ui-icon {background-image: url(file:///C:/ui-icons_2e83ff_256x240.png)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 2017-02-14
  • 2018-03-11
  • 1970-01-01
相关资源
最近更新 更多