Firefox 和 IE 之间的兼容性问题实在太烦人,不只是 CSS 样式,还有 Javascript 之间种种的差异,着实让人头疼。这两天就遇到了不少小问题,诸如:“submit()”、“execCommand(“Copy”)”之类的。如果不去考究一番的话,往往会觉得太麻烦了。而事实上,只要作些细微的改动就可以轻松实现兼容了。当然,像“execCommand(“Copy”)”这种要去改动配置的话就没必要了,如此麻烦地去实现一个小小的功能也太过鸡肋不是?
这里来说说最简单的,比如:
document.content.innerHTML = '<br />';
这样的代码在 IE 下是没问题的,而 FF 下只要加上“getElementById”也不会有问题。
document.getElementById('content').innerHTML = '<br />';
再比如“submit()”的问题:
<a href="#" onClick="with(mantype){value='001'};document.mancontent.submit();">删除文章</a>
这段代码,在 FF 下是没法赋值并提交表单的。和上面的同理也需要做些修改:
<script language="javascript" type="text/javascript">
function ManSubmit( mantype ){ //提交表单内容
document.getElementById('manarchives').mantype.value = mantype;
document.getElementById('manarchives').submit(); //manarchives为表单名
}
</script>
<a href="#" onclick="ManSubmit('001');">删除文章</a>
function ManSubmit( mantype ){ //提交表单内容
document.getElementById('manarchives').mantype.value = mantype;
document.getElementById('manarchives').submit(); //manarchives为表单名
}
</script>
<a href="#" onclick="ManSubmit('001');">删除文章</a>
这样就没啥问题了。
不过,接着再来,又遇到另一个问题。因为这里是删除,所以操作之前要有个确认提示才行。但是这里,如果直接在“onclick”上加“confirm”的话是有问题的:
<a href="#" onclick="return confirm('你确定要删除?');ManSubmit('001');">删除文章</a>
不管位置前后怎么调整,要么是取消了却依然提交,要么就纯粹无反应。所以,不得不再改:
<script language="javascript" type="text/javascript">
function ManSubmit( mantype ){ //提交表单内容
if(confirm('你确定要删除?')){
document.getElementById('manarchives').mantype.value = mantype;
document.getElementById('manarchives').submit();
return true;
}
return false;
}
</script>
<a href="#" onclick="ManSubmit('001');">删除文章</a>
function ManSubmit( mantype ){ //提交表单内容
if(confirm('你确定要删除?')){
document.getElementById('manarchives').mantype.value = mantype;
document.getElementById('manarchives').submit();
return true;
}
return false;
}
</script>
<a href="#" onclick="ManSubmit('001');">删除文章</a>
OK,功能实现!
后记:这是些很简单的问题,笔录过程于此是因为自己记性差,老犯低级错误,哪怕是同一个问题,再次遇到也常常头大。着重于思路,以致后续,呵呵。。。
暂无评论 Trackback Url:http://ichov.com/web/js-jian-rong.html/trackback


