日期:2014-05-16  浏览次数:20416 次

Chrome浏览器中JS脚本提示"cannot read property 'SetselectionRange‘ of null"
实现这样一个功能:在新增文章界面上,有论坛自定义表情,用户只要点击某个自定义表情的图标,这个图标对应的UBB代码就会自动添加到文本框的光标位置。这个功能在IE浏览器上运行一直是正常的,但是现在在Chrome浏览器上却出现了问题。点击图标时,不会将UBB代码添加到文本框中,运行Chrome调试器时提示 "cannot read property  'SetselectionRange‘ of null"

代码如下:
<script type="text/javascript">
function ins(insertStr)
{
var obj = document.getElementById("c_message_content")
if(document.all)
{
    obj.focus();
    var range = document.selection.createRange();
    range.text=insertStr;
}
else if(obj.setSelectionRange){
    var rangeStart = obj.selectionStart; 
    var rangeEnd = obj.selectionEnd; 
    var temp1 = obj.value.substring(0,rangeStart); 
    var temp2 = obj.value.substring(rangeEnd); 
    obj.value = temp1 + insertStr + temp2; 
}
}

function ShowTR(obj){
  //document.write(HiddenTR1);
  //TargetTR=document.all("HiddenTR"+o);
  /*if (document.getElementById("HiddenTR1").style.display=='none'){
      document.getElementById("HiddenTR1").style.display='block';
  }else{
      document.getElementById("HiddenTR1").style.display='none';
  }*/
  var o1=document.getElementById("HiddenTR1")
  var o2=document.getElementById("HiddenTR2") 
  if ((o1.style.display=='block')||(o2.style.display=='block')){
      o1.style.display='none';
  o2.style.display='none';
  document.getElementById("Hiddentxt").innerHTML='';
  }else{
      o1.style.display='block';
  document.getElementById("Hiddentxt").innerHTML='悠嘻猴';
  }
 
  //o.style.display=o.style.display=='none'?'block':'none'; 
  obj.innerHTML=obj.innerHTML=='不显示发帖表情'?'显示发帖表情':'不显示发帖表情' 

 }
 function ShowTR1(obj){
  //document.write(HiddenTR1);
  //TargetTR=document.all("HiddenTR"+o);
  /*if (document.getElementById("HiddenTR1").style.display=='none'){
      document.getElementById("HiddenTR1").style.display='block';
  }else{
      document.getElementById("HiddenTR1").style.display='none';
  }*/
  var o1=document.getElementById("HiddenTR1")
  var o2=document.getElementById("HiddenTR2") 
  //alert("aaa");
  if (o1.style.display=='block'){
      o1.style.display='none';
      o2.style.display='block';
  }else if (o1.style.display=='none'){
      o1.style.display='block';
      o2.style.display='none';   
  }
  //o.style.display=o.style.display=='none'?'block':'none'; 
  obj.innerHTML=obj.innerHTML=='可爱猫'?'悠嘻猴':'可爱猫'; 

 }
</script>
浏览器 脚本<