javascript 图片的绝对路径

<html>
<head>
<title> 选择一幅图片 </title>

</head>
<body>
<img name = img1 src="" border="0" width="400"height=500>
<script language="javascript" type="text/javascript">
var myImages = new Array("E:\西西照片\20120824368.jpg", "E:\西西照片\20120822357.jpg");
var imgIndex = prompt("Enter a number from 0 to 1", "");
document.images["img1"].src = myImages[imgIndex];

</script>
</body>
</html>

为什么我选的图没出来啊?

在我的电脑,下面的代码成功:

<html>
   <head>
 <title> é€‰æ‹©ä¸€å¹…图片 </title>
 
   </head>
   <body>
 <img name = img1 src="" border="0" width="400"height=500>
<script language="javascript" type="text/javascript">
  var myImages = new Array("e:/TEMP/文件/三生石.jpg", "e:/TEMP/文件/中国心.jpg");
  var imgIndex = prompt("Enter a number from 0 to 1", "");
  document.images["img1"].src = myImages[imgIndex];
</script>
   </body>
</html>


你的路径里面的\在JS里面会转义,应该使用\\或者/


此外,这样的程序只能在你的机器上运行,在服务器上的时候,浏览器是显示操作浏览器的那个人的电脑上的e:的本地文件,而不是服务器上的文件。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-24
javascript是没有权限访问本地文件的,js是在你的浏览器那边运行的,如果你想要得到服务器上的文件,要使用服务端动态语言,比如jsp。
第2个回答  2014-07-24
最好用绝对路径。
css文件中的图片地址是相对于css文件路径的地址,而js文件本身是不会被浏览器作为参考地址,而是随当前页面的地址变化的,这导致了如果你的js可能被多个不同的页面打开时相对地址的图片可能失效的问题。

其实不仅仅是js,因此现在一般都采用mvc架构开发,因此除了css文件外,其他位置出现的url通常都是绝对地址。

没有好的办法让你使用相对路径,也许你可以试试<base>标签,但是它会对页面内的所有链接产生影响(IE中base标签在使用js的url跳转时似乎有点问题)。你可以自己搜索一些关于<base>标签的解释。