我目前在我的测试页面上有一个有效的“经销商定位器”,可以在页面的右侧找到
http://www.khl.com/dev/american-cranes-and-transport/
除了可怕的IE之外,它的工作正常,尽管IE11似乎有效。
当您在IE中查看该页面时,您会看到一个看起来很糟糕的掌上电脑图像,这是因为JS看起来像这样:
<div class="storeNews">
<img src="http://www.khl.com/other_files/khl/dealer-locatot.png" border="0">
<script language="JavaScript" type="text/javascript">
ImgPath='http://www.khl.com/other_files/khl/locate/';
ImgPreloadAry=new Array('placeholder.jpg','link3.png','sany3.png','manitex3.png','manitowoc3.png');
SRCAry=new Array();
for (i=0;i<ImgPreloadAry.length;i++){
SRCAry[i]=new Image();
SRCAry[i].src=ImgPath+ImgPreloadAry[i];
}
function Cng(sel){
document.getElementById('img').src=ImgPath+sel.options[sel.selectedIndex].value;
document.getElementById('tbl').style.backgroundImage='url('+(ImgPath+sel.options[sel.selectedIndex].value)+')';
}
var ImgPath='http://www.khl.com/other_files/khl/locate/';
var linksArray = [
{ Img: 'placeholder.jpg', Link : '#', RelatedText :'TEST LINK'},
{ Img: 'link3.png', Link : 'http://www.linkbelt.com/', RelatedText :'Link-belt description and link'},
{Img:'sany3.png', Link : 'http://www.sanygroup.com/', RelatedText :'Sanny description and link'},
{Img:'manitex3.png', Link : 'http://www.khl.com/servlet/file/Manitex%20dealer%20ad.pdf?ITEM_ENT_ID=90292&COLLSPEC_ENT_ID=38&ITEM_VERSION=1&download=1',RelatedText : 'Manitex Locator can be downloaded below.'},
{Img:'manitowoc3.png', Link : 'http://www.manitowoc.com/',RelatedText : 'Manitowoc description and link'},
];
function Cng(sel){
var selectedIndex = sel.selectedIndex;
document.getElementById('companyLink').href = linksArray[selectedIndex].Link;
document.getElementById('relatedText').innerHTML= linksArray[selectedIndex].RelatedText;
document.getElementById('relatedImage').src = ImgPath + linksArray[selectedIndex].Img;
}
//-->
</script>
</head>
有效地ImgPath ='http://www.khl.com/other_files/khl/locate/由于某种原因,IE认为这也是一个图像(不是路径)。
有没有明亮的火花可以帮助我?
亲切的问候, 萨姆
答案 0 :(得分:2)
经典trailling逗号错误。
.....towoc description and link'},
^^^
this comma is invalid and will break your JS in IE.
如果你通过像JSHint这样的验证器运行你的JS代码,你会收到类似这样的问题的警告。如果您使用合适的IDE编辑代码,它们也很容易被发现,因为您也会从中获得语法突出显示和警告。
此外,您已经宣布function Cng()
两次,这显然是错误的。