<html>
<head><title>这个操作一定要完成</title>
<script language="javascript">
  function getCursor(obj){
    var curSelection=document.selection;    //选取对象
    
var selectionRange=curSelection.createRange(); //为选取的对象创建文本    
    var bakRange=curSelection.createRange();       //为拖选的对象创建文本    var positionNode=document.getElementById("position"); //取出文本框的ID
    selectionRange.moveStart("character",-100000);    //把字符"character"向左移动-100000个单位.
    selectionRange.setEndPoint("EndToStart",bakRange); //设置一个结束点.
    selectionRange.select();  //显示光标
    beginCursor = selectionRange.text.length;

    positionNode.value="选中起始坐标:"+selectionRange.text.length+". "; //把起始的坐标显示到文本框中
    
    selectionRange.setEndPoint("EndToEnd",bakRange);        //移动光标到终止位置  
    selectionRange.select();                                 //显示光标 
    
    positionNode.value+="选中终止坐标:"+selectionRange.text.length+". "; //把结束的坐标显示到文本框中
    
endCursor = selectionRange.text.length;
    selectionRange.setEndPoint("StartToStart",bakRange);  //
    
    selectionRange.select();      //显示光标
     
str1 = obj.value.substring(beginCursor,endCursor);
    positionNode.value+="选中终止坐标:"+str1+". "; //把结束的坐标显示到文本框中
   
  }
</script>
</head>
<body >
<textarea cols="80" rows="30" onmouseup="getCursor(this)" id="textarea">
aabbdafadsfasdfasdfasdfsadfas[fadsfad]dfasdfasd</textarea>
<br>
插入位置:<input type="text" size="100" id="position"></input>
</body>
</html>

解决方案 »

  1.   

    哪个页面使用了frameset,你的document(doc)对象是实际选择对象的父对象。
     var parentwin = external.menuArguments;
         var doc = parentwin.document;
         if(doc.body.oncontextmenu !=null)
         doc.body.oncontextmenu=null;
         if(doc.body.onselectstart !=null)
        doc.body.onselectstart=null;
         
         var sel = doc.selection;
         var rng = sel.createRange();    
         var str = new String(rng.text);
       if(str=="" || str==null)
        {alert();
        if(doc.frames)
          {
              var framesSet=doc.body.getElementsByTagName("frame");
              for(var i=0;i<framesSet.length;i++)
              {
                var name=framesSet[i].name;
                str=doc.frames(name).document.selection.createRange().text;
                if(str!=""&&str!=null)
                break;
              }
          }
        }
        alert(str);