js怎么取div背景图片路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么取div背景图片路径相关的知识,希望对你有一定的参考价值。

rt

参考技术A 首先确认你是怎么为这个div应用背景的,是用css的外联还是内嵌方式? 如果是内嵌方式,就很容易获取了.
比如:
<div id="mydiv" style="background:url(images/bg.jpg)">...</div>
js:

var oDiv=document.getElementById("mydiv");
var oBg=oDiv.getAttribute("style");
//这个oBg就是style属性了,取得的为background:url(images/bg.jpg)
然后再载取字符串,把images/bg.jpg ,这个步骤就不用我说了吧.
参考技术B 贴代码出来吧.
div背景图片一般是由css设置的.直接用js不好取.你是要换背景吗?
如果要换,可以设置div的css来达到目的,而不是试图去取图片路径.
参考技术C document.getElementById("xx").style.backgroundImage = "url(图片文件夹/图片名.png)"; 参考技术D 什么意思..?既然你可以显示图片 就当然知道图片的路径吖??

js文件选择框,我选好文件后,取不到正确路径, alert(document.getElementById('filepath').value);

alert(document.getElementById('filepath').value);
取到的路径是C:\fakepath\文件名,不管怎么选文件都是这样的,怎么解决?
望大虾们看下
-----------------------------------------------------------------------解决方法》》》》
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。

不过 感觉没有治本:如果别人用的电脑把IE里这项给禁用了,那不是在他的电脑上就没法运行哦??
希望各位给出办法解决,或者说应该怎么做可以避免出错,不管是提示还是其它什么办法的,谢谢!

这是故意的,由于安全原因,是不可能让你得到用户的电脑的盘符和路径的。

你在js里得到就可以传回服务器了,那样用户的电脑文件目录就全部被你获得了,黑客也太容易当了。

你只要提交表单,在服务器端自然会得到文件名的。

php用 $_FILES

你print_r($_FILES);
就可以看到了追问

我java

追答

类似

private void uploadFile(HttpServletRequest request, HttpServletResponse response)
try
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(-1);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);

// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while (i.hasNext())
FileItem fi = (FileItem) i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
String sep = System.getProperty("file.separator");
int index = fileName.lastIndexOf(sep);
if(index >-1)
fileName = fileName.substring(fileName.lastIndexOf(sep));

// 在这里可以记录用户和文件信息
// ...
// 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:
fi.write(new File(uploadPath + fileName));
response.setCharacterEncoding("UTF-8");
response.getWriter().println(fileName+"上传成功");

catch (Exception e)
// 可以跳转出错页面
e.printStackTrace();

参考技术A 文件路径:<input type="file" id="filepath"/>
<button onclick="alert(document.getElementById('filepath').value);">查看路径</button>

每次重选文件后,点击按钮查看。应该是没有问题啊
你是怎么操作的?追问

和你一样 ie浏览器,换个机器也一样,是不是某些JS限制的?还是浏览器的问题?

追答

你重置一下ie浏览器的设置,再试试。我实验是ok的

参考技术B 没问题啊,只是一个定义而已嘛,但是你运行就会报错,找不到id为WindowsMediaPlayer1的节点
参考技术C 有可能是浏览器的原因

以上是关于js怎么取div背景图片路径的主要内容,如果未能解决你的问题,请参考以下文章

为div设置背景图片后,为啥不显示背景图片?

js 怎么截取img路径里的图片名

如何用js控制img中src图片路径改变

jquery如何获取图片的路径。

在“js”中怎么设置div的背景图片?

js获取a标签下img的图片路径