无法用JavaScript替换/使用relativie图像url.绝对路径有效,相对路径无效
Unable to replace/use relatvie image url with JavaScript. Absolute path works, relative does not
我添加了我认为重要的部分。基本上,我的所有文件目前都在一个目录中。CSS使用相对路径在div#幻灯片上放置背景图像。然后,使用javascript和数组,我想更改背景图像。然而,js只有在我输入到图像的绝对路径时才有效
小提琴不会显示图像,但结构是存在的。通常,我有一个函数可以递增I并显示相应的图片,但我认为这对故障排除没有必要。
我尝试使用相对路径的原因是,我可能需要能够复制和粘贴整个文件夹,或者从没有互联网接入的电脑上的usb驱动器使用它。
在开发控制台中,当我设置I=1并运行该函数时,背景是空白的。当我设置了绝对路径并做同样的事情时,它会根据i值显示正确的图片。
谢谢你的帮助!
EDIT:当我将所有代码组合到html文档中时,所有内容都使用相对路径。因此,在使用不同的html/css/js文件编写路径时,我一定缺少一些简单的东西。
http://jsfiddle.net/xvs8ogjg/4/
HTML
<div id="slides"></div>
CSS
/* I'm using % based sizes on the actual version, but everything else is the same. */
#slides {
width: 200px;
height: 200px;
margin: 0;
/* this css loads the first image properly when the page loads */
background-image: url("test1.svg");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
JS-
//Array with images. Images, css, and js are all in the same folder called slideshow for now.
var slides = document.getElementById('slides');
//Does not work
var images = new Array (
"test1.svg",
"test2.svg"
);
//Does not work, i thought i could trick it or something, idk
var images = new Array (
"../slideshow/test1.svg",
"../slideshow/test2.svg"
);
//Works
var images = new Array (
"http://example.com/directory/slideshow/test1.svg",
"http://example.com/directory/slideshow/test2.svg"
);
//Also works, locally
var images = new Array (
"file:///C:/Users/myname/directory/slideshow/test1.svg",
"file:///C:/Users/myname/directory/slideshow/test2.svg"
);
var i = 0;
var change = function() {
slides.style.backgroundImage = 'url("' + images[i] + '")';
};
这完全取决于您请求文件的位置。也没有办法从plunker中看到你在描述什么,因为这将是相对于plunker url的。
//Does not work, i thought i could trick it or something, idk
var images = new Array (
"/directory/slideshow/test1.svg",
"/directory/slideshow/test2.svg"
);
应在域上的任何位置工作。我通常避免在url中使用../
。
相关文章:
- Javascript:使用绝对路径设置img src
- 如何在d3.js中返回路径的y坐标
- 复制图像路径以单击它
- 从模块内部访问Express装载路径
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- JS文件的路径正在消失
- 当SVG是单独的文件时,剪辑路径/web工具包掩码有效,但在内联时无效
- 如何在运动路径上有效地反转 SVG (SMIL) 动画
- 如何有效地检查路径字符串是否是 jQuery 中另一个路径字符串的子项
- 对要用作html有效路径的路径进行编码的最佳方式“;id”;或“;name”;标签
- 指向URL的Javascript绝对路径在一个页面上有效,但在另一个页面创建ajax错误消息
- JSON的本地路径在notepad++中有效,但不会加载到网页中
- 有效地生成带有反斜杠的文件夹路径
- 如何检测图像路径是否有效
- 新建Firebase失败:第一个参数必须是有效的Firebase URL,且路径不能包含"."、&q
- 无法用JavaScript替换/使用relativie图像url.绝对路径有效,相对路径无效
- 如何在HTML文件输入控件中检查文件路径是否有效
- PDF .js不使用绝对路径加载PDF.只对相对路径有效