的JavaScript错误的位置

问题描述:

的代码我使用的是从这里拉图像采集图片:的JavaScript错误的位置

http://www.mywebsite.com/FILENAME/images/theimageiwant.jpg

我大写的“名”是在某处的代码被添加的部分。 IE浏览器。我只是想从拉图片:

http://www.mywebsite.com/images/theimageiwant.jpg

如果有人可以帮帮忙,让我知道我需要更改或删除这将是非常有益的,其中的JavaScript的一部分。即使你可以告诉我哪个部分实际上是指'文件名',我可能会弄清楚。先谢谢你们。

function MM_preloadImages() { //v3.0 
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 
} 

function MM_findObj(n, d) { //v4.01 
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
if(!x && d.getElementById) x=d.getElementById(n); return x; 
} 

function MM_swapImage() { //v3.0 
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) 
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} 
} 
function MM_swapImgRestore() { //v3.0 
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; 
} 

这是html的

<a href="javascript:;" onClick="MM_swapImage('main','','mywebsite.co.uk/images/porftfolio-main.jpg',1)">; 
<img src="mywebsite.co.uk/images/portfolio-thumb.jpg"; alt="portfolio-thumb" width="120" height="120" id="thumb1" /></a> 

这是一个主画面,它下面的4页更小的缩略图,当你点击一个画廊 - 改变主画面。代码是标准的DW,但是Firebug告诉我对包含'文件名'的位置的图像有不好的要求。

+0

你能告诉我们你的HTML吗?我不认为这个JavaScript是问题。这不是标准的Dreamweaver代码吗? – Curt 2012-04-03 10:46:15

+0

看到我的答案。 http://stackoverflow.com/a/9991742/370103希望这应该可以帮助你 – Curt 2012-04-03 10:54:55

你指的文件为images/blah.png或任何...
您需要在前面加一个斜杠:

来自: "images/blah.png"
到: "/images/blah.png"

+0

谢谢瑞安。它的尾部是斜线 - 它是从www.mysite.co.uk/FILENAME/images/myimage.jpg中拉出图像 - 我试图计算出抓取'文件名'的JS是什么,因为我所有的图像都存储了在根。 – Darren 2012-04-03 11:09:12

看到您的代码:

<a href="javascript:;" onClick="MM_swapImage('main','','mywebsite.co.uk/images/porftfolio-main.jpg',1)">; <img src="mywebsite.co.uk/images/portfolio-thumb.jpg"; alt="portfolio-thumb" width="120" height="120" id="thumb1" /></a> 

更改mywebsite.co.ukhttp://mywebsite.co.uk

这会将您的链接更改为absolute URLs,例如指向/images/porftfolio-main.jpg

+0

感谢您的帮助Curt,唯一的是我需要使用'mywebsite.co.uk'部分在那里,否则它不会找到图像。与我的.htacess设置的方式有关,用于增加文件扩展名并添加尾部斜线。任何其他想法? – Darren 2012-04-03 11:05:38

+0

@DarrenFox我没有意识到这是针对不同的网站图片。在这种情况下,您需要在开始处添加'http://',否则浏览器会将其视为本地相对URL – Curt 2012-04-03 11:19:29

+0

是的,它也包含http://部分。下面找到了一个新的解决方案,但并不确定它是如何工作的。 – Darren 2012-04-03 11:25:53