我的网站有两种语言,英语和法语。现在我不知道java脚本,我创建了一个代码,用于根据您想要使用的语言使用javascript显示不同的图片。
因此,如果您访问www.my-site.com/en/,您会看到相同的En_pic_图片相同。
/*These are the Popup images for the English and French portal */
var url1 = 'http://www.my-site.com/fr/';
var url2 = 'http://www.my-site.com/en/';
MagnifImage.setup(
if (window.location = 'url2'){
"En_pic_1", "/images/1.png","",
"En_pic_2", "/img/content/tracking_instructions/2.png", "",
"En_pic_3", "/img/content/tracking_instructions/3.png", "",
"En_pic_4", "/img/content/tracking_instructions/4.png", "",
}else{
"Fr_pic_1", "/img/content/tracking_instructions/1_fr.png", "",
"Fr_pic_2", "/images/mon-compte.png","",
"Fr_pic_3", "/img/content/tracking_instructions/3_fr.png","",
"Fr_pic_4", "/img/content/tracking_instructions/4_fr.png",""
}
);
一切正常但是如果我在另一个语言页面上,我会收到一个警告框,说没有Fr_pic_1或En_pic_1。(取决于我当前所在的页面)我发现完成此代码的代码如下:
if( !(objRef.trigElem=document.getElementById( idParts[0] )) )
alert("There is no element with the ID:'"+idParts[0]+"'\n\nCase must match exactly\n\nElements must be located ABOVE the script initialisation.");
else
{
if(objRef.trigElem.parentNode && objRef.trigElem.parentNode.tagName=='A')
objRef.trigElem=objRef.trigElem.parentNode;
objRef.classId=idParts[1] || "MagnifImage" ;
objRef.imgObj=new Image();
objRef.imgObj.imgIndex=i;
objRef.imgObj.hasLoaded=0;
我在http://scripterlative.com?magnifimage
找到的代码请帮忙......
答案 0 :(得分:2)
您需要修复多项内容:
==
或===
进行比较。一个=
是分配,而不是比较。url2
进行比较,而不是引用字符串'url2'
。MagnifImage.setup()
的方式。window.location.href
,因为window.location是一个对象,我发现最好使用你想要的那个对象的实际属性,而不是依赖于隐式转换。将您的代码更改为:
/*These are the Popup images for the English and French portal */
var url1 = 'http://www.my-site.com/fr/';
var url2 = 'http://www.my-site.com/en/';
if (window.location.href == url2) {
MagnifImage.setup("En_pic_1", "/images/1.png","",
"En_pic_2", "/img/content/tracking_instructions/2.png", "",
"En_pic_3", "/img/content/tracking_instructions/3.png", "",
"En_pic_4", "/img/content/tracking_instructions/4.png", "");
} else {
MagnifImage.setup("Fr_pic_1", "/img/content/tracking_instructions/1_fr.png", "",
"Fr_pic_2", "/images/mon-compte.png","",
"Fr_pic_3", "/img/content/tracking_instructions/3_fr.png","",
"Fr_pic_4", "/img/content/tracking_instructions/4_fr.png","");
}
您的代码可能导致许多错误,因此根本无法执行。您应该学习如何查找javascript错误。每个浏览器都有一个错误控制台,可以显示javascript解析或执行错误。许多浏览器现在都有一个内置调试器而不是一个控制台,它还会向您显示这些信息,并允许您查看导致错误的确切源代码行。我使用Chrome,它有一个内置的调试器,可以做到这一点。 Firefox有一个名为Firebug的免费插件,可以执行此操作。