JavaScript从错误位置抓取图像

JavaScript从错误位置抓取图像,javascript,image,Javascript,Image,我使用的代码是从这里提取图像: 我大写的“filename”部分被添加到代码的某个地方。即,我只想从以下图片中提取图像: 如果有人能帮助我,让我知道我需要更改或删除JavaScript的哪一部分,这将非常有帮助。即使你能告诉我哪个部分实际上指的是“文件名”,我可能也能猜出来。提前谢谢各位 function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,

我使用的代码是从这里提取图像:

我大写的“filename”部分被添加到代码的某个地方。即,我只想从以下图片中提取图像:

如果有人能帮助我,让我知道我需要更改或删除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告诉我,从包含“filename”的位置对图像提出了错误的请求。

您将该文件称为images/blah.png或其他任何文件。。。 您需要在前面添加正斜杠:

发件人: 图片/blah.png 致: /查看代码时的images/blah.png

<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.uk更改为http://mywebsite.co.uk


例如,这将更改指向/images/porftofolio-main.jpg的链接。

您可以向我们展示您的HTML吗?我认为javascript不是问题所在。这不是标准的dreamweaver代码吗?请看我的答案。希望这会对你有所帮助谢谢你的帮助,Curt,唯一的问题是我需要使用“mywebsite.co.uk”部分,否则它找不到图像。与my.htacess设置方式有关的内容,用于标记文件扩展名和添加尾部斜杠。还有其他想法吗?@DarrenFox我不知道这是为了一个不同的网站。在这种情况下,您需要在开始时添加http://否则浏览器会将其视为本地相对URL是的,其中也包含http://部分。在下面找到了一个新的解决方案,但并不确定它是如何工作的。好吧,我找到了一种方法来阻止Firebug收到错误的请求。它涉及在JavaScript代码的第二行将var d=document…更改为var d=src。你知道这是否合法吗?谢谢Ryan。它有一个尾随的斜杠-它从www.mysite.co.uk/FILENAME/images/myimage.jpg中提取图像-我试图找出获取“文件名”的JS是什么,因为我的所有图像都存储在根目录中。