求即时显示所选择的上传图片的JS代码在firefox和IE里都能运行。请大家帮忙,谢谢! 谢谢gzdiablo() 的建议,可是这不是我能做主的阿,客户这么要求,有什么办法,现在客户都是耶稣他爹,连祈祷都没有用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议吧 反正我做的东西非IE不能用ScriptEncode + VML + document.all.item(int Number)想用我的东西就得用IE我也想写FF的 但写了2个大系统就放弃了 FF他妈的不能做企业级B/S结构的终端 功能太少了 function GetFileExt(file){ var fileArray = file.split("."); if(fileArray.length <= 0)return ""; return fileArray[fileArray.length - 1].toLowerCase();}function CheckFileExt(file, exts){ var extArray = exts.split(","); var ckExt = GetFileExt(file); for(var i = 0; i < extArray.length; i ++){ if(ckExt == extArray[i].toLowerCase())return true; } return false;}//obj1 = file表单//val = true预览, false重置function viewImage(obj1, val){ try{ for(var i = 0; i < obj1.parentNode.childNodes.length; i ++){ var lastNode = obj1.parentNode.childNodes[i]; if(lastNode.id == "__ViewImagePanel") { obj1.parentNode.removeChild(lastNode); } } if(val){ if((!isEmptyNull(obj1.value)) && CheckFileExt(obj1.value, "gif,jpg,jpeg,bmp,png")){ var div = document.createElement("DIV"); div.id = "__ViewImagePanel"; obj1.parentNode.appendChild(div); div.innerHTML = "<img src=\"" + obj1.value + "\" width=\"200\" />"; } }else{ obj1.parentNode.innerHTML = obj1.parentNode.innerHTML; } }catch(e){}} 漏了几个函数//字符串,是否允许空格(默认为删除前后空格)function isEmptyNull(chkstring, chkspace) { if (chkstring == null || chkstring == "") return true; if (chkspace == null) { if (chkstring.trim() == "") return true; } return false;}String.prototype.trim = function() { try{ return this.replace(/(^\s+)|\s+$/g,""); }catch(e){ return this; }} 谢谢jianye112(www.gzyd.net) 的帮助,但是好像不行阿,现在情况是在firefox里,onpropertychange好像不能用。也没有找到相关的资料。 <div><input name="image" type="file" id="image" onchange="viewImage(this, true);"><input type="button" onclick="viewImage(this, false);" value=" 重置 " /></div>我在ff可以啊。不过图片看不到,可能是中文编码问题,下面是“桌面”的编码。/%25E6%25A1%258C%25E9%259D%25A2/IMG_1747.jpg //显示不了/%D7%C0%C3%E6/IMG_1747.jpg //正确 谢谢大家的帮助。在firefox中,本地图片是不能显示的,即使修改about:config里的设置也不能。 图片左右移动代码 关于函数参数传递的问题 求Extjs 表格的增删改查 (来者有分) 熟悉Jquery高人帮帮忙 纯js能实现无限级分类么? javascript 如何在json中使用对象? 高手救命: servlet里写javascript的alert脚本,怎么偶尔会出现中文乱码的? 谁有这种CSS的CLASS的命名规则的经验? jqchart 在ff可以运行,在ie下就不可以!急 欢迎加入站长之群 缓存问题 (急)
ScriptEncode + VML + document.all.item(int Number)
想用我的东西就得用IE
我也想写FF的 但写了2个大系统就放弃了 FF他妈的不能做企业级B/S结构的终端 功能太少了
var fileArray = file.split(".");
if(fileArray.length <= 0)return "";
return fileArray[fileArray.length - 1].toLowerCase();
}function CheckFileExt(file, exts){
var extArray = exts.split(",");
var ckExt = GetFileExt(file);
for(var i = 0; i < extArray.length; i ++){
if(ckExt == extArray[i].toLowerCase())return true;
}
return false;
}
//obj1 = file表单
//val = true预览, false重置
function viewImage(obj1, val){
try{
for(var i = 0; i < obj1.parentNode.childNodes.length; i ++){
var lastNode = obj1.parentNode.childNodes[i];
if(lastNode.id == "__ViewImagePanel")
{
obj1.parentNode.removeChild(lastNode);
}
}
if(val){
if((!isEmptyNull(obj1.value)) && CheckFileExt(obj1.value, "gif,jpg,jpeg,bmp,png")){
var div = document.createElement("DIV");
div.id = "__ViewImagePanel";
obj1.parentNode.appendChild(div);
div.innerHTML = "<img src=\"" + obj1.value + "\" width=\"200\" />";
}
}else{
obj1.parentNode.innerHTML = obj1.parentNode.innerHTML;
}
}catch(e){}
}
function isEmptyNull(chkstring, chkspace) {
if (chkstring == null || chkstring == "") return true;
if (chkspace == null) {
if (chkstring.trim() == "") return true;
}
return false;
}String.prototype.trim = function() {
try{
return this.replace(/(^\s+)|\s+$/g,"");
}catch(e){
return this;
}
}
<input name="image" type="file" id="image" onchange="viewImage(this, true);">
<input type="button" onclick="viewImage(this, false);" value=" 重置 " />
</div>我在ff可以啊。不过图片看不到,可能是中文编码问题,下面是“桌面”的编码。
/%25E6%25A1%258C%25E9%259D%25A2/IMG_1747.jpg //显示不了
/%D7%C0%C3%E6/IMG_1747.jpg //正确
里的设置也不能。