我已经在 Firefox 22、Opera 12.12、Chrome 28.0.1500.95 m 和 IE 8.0.6001.18702 中测试了这段代码。全部在 Windows XP 32 位。我只是想知道我的代码是否存在跨浏览器或跨操作系统问题。我不确定如何在不降级的情况下测试旧版本的浏览器,而且我无法测试移动浏览器和更新的浏览器。
这是下面的代码。单击小图像使它们变大,单击大图像使它们变小。
function bigSmall(input){
var blnMakeBig=false;
if(input.name=="s"){
blnMakeBig=true;
}
var bigImages=document.getElementsByTagName("img");
for(var i=0;i<bigImages.length;i++){
if(bigImages[i].getAttribute("name")=="b"){
bigImages[i].src=bigImages[i].src.substr(0,bigImages[i].src.length-bigImages[i].src.length)+"http://static.ddmcdn.com/gif/top-5-cat-allergy-symptoms-2.jpg";
bigImages[i].className="s";
bigImages[i].name="s";
}
}
if(blnMakeBig){
input.src=input.src.substr(0,input.src.length-input.src.length)+"http://fc07.deviantart.net/fs70/f/2013/071/7/2/grumpy_cat_trikky_by_reverendbonobo-d5xs0z6.jpg";
input.name="b";
input.className="b";
}
}
我把它打结input.src.length-input.src.length
是不必要的,但最终它会是input.src.length-5
这样,所以我把它留在那里以保持完整性。
我想基本问题是:
.className
, .name
, .src
, .substr()
, .getAttribute("name")
, 和是否.getElementsByTagName("img")
兼容所有浏览器、桌面和移动设备?
我查看了http://caniuse.com,但在那里运气不佳。