的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告诉我对包含'文件名'的位置的图像有不好的要求。
你指的文件为images/blah.png
或任何...
您需要在前面加一个斜杠:
来自: "images/blah.png"
到: "/images/blah.png"
谢谢瑞安。它的尾部是斜线 - 它是从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.uk
到http://mywebsite.co.uk
这会将您的链接更改为absolute URLs,例如指向/images/porftfolio-main.jpg
。
感谢您的帮助Curt,唯一的是我需要使用'mywebsite.co.uk'部分在那里,否则它不会找到图像。与我的.htacess设置的方式有关,用于增加文件扩展名并添加尾部斜线。任何其他想法? – Darren 2012-04-03 11:05:38
@DarrenFox我没有意识到这是针对不同的网站图片。在这种情况下,您需要在开始处添加'http://',否则浏览器会将其视为本地相对URL – Curt 2012-04-03 11:19:29
是的,它也包含http://部分。下面找到了一个新的解决方案,但并不确定它是如何工作的。 – Darren 2012-04-03 11:25:53
你能告诉我们你的HTML吗?我不认为这个JavaScript是问题。这不是标准的Dreamweaver代码吗? – Curt 2012-04-03 10:46:15
看到我的答案。 http://stackoverflow.com/a/9991742/370103希望这应该可以帮助你 – Curt 2012-04-03 10:54:55