我有一个主网页(main.htm),上面嵌了一个iframe(iframe.htm),当在主网页上选择文本时,
iframe会定位到鼠标的位置,并且选择的文本会传到iframe的文本框,
我在IE6上测试没有问题,但到了FIREFOX就跑不起来。我不太熟悉FIREFOX,可否麻烦帮我改改,谢谢!代码如下:-------------------------
main.htm
-------------------------<html>
<head>
<title>文本被选中</title>
<script type="text/javascript">function my_mouseup(e){var targ
if (!e) var e = window.event
if (e.target) targ = e.target
else if (e.srcElement) targ = e.srcElement
if (targ.nodeType == 3) // defeat Safari bug
targ = targ.parentNodevar myDiv = targ;
var range = myDiv.document.selection.createRange().text;var iframe1=document.getElementById("iframe1");
if(range.length <= 0) {
iframe1.style.posWidth=0;
iframe1.style.posHeight=0;
return;
}iframe1.style.posWidth=300;
iframe1.style.posHeight=120;

iframe1.style.posLeft=event.clientX + document.body.scrollLeft;
iframe1.style.posTop=event.clientY + document.body.scrollTop+10;myFrame.my_post(range); 
}</script>
</head>
<body>
<p>aa</p>
<p>aa</p>
<p>aa</p>
<p>aa</p>
<p>aa</p>
<p>aa</p><div  onmouseup = "my_mouseup(event)" >
fkjsdgfksdgfgksdgfgsdfgsdgfgdsfhgdhfgjsdgfhsdgjfgsj123333333333
333335435466666677777777789090906905869775765865786758657867586
</div><div   onmouseup = "my_mouseup(event)" >
hgfkdjghkhdfkghkdfhgkjhdfjkghkjdfhkj
</div><iframe id="iframe1" name="myFrame"  src="iframe.htm"  
width="0" height="0" style="position: absolute; left: 114px; top: 127px;">
</iframe></body>
</html>-------------------------
iframe.htm
-------------------------
 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title><script type="text/javascript">

function my_post(sTxt){
var t1=document.getElementById("T1");
t1.value=sTxt;
}</script></head>
<body  topmargin="0" leftmargin="0">
<form  id="form1" method="POST" action="" >
<input type="input" name="T1" id="T1"   >
</form></body>
</html>

解决方案 »

  1.   


    <html>
    <head>
    <title>文本被选中</title>
    <script type="text/javascript">function my_mouseup(e){var targ;
    e = window.event?window.event:e;
    targ = window.event?e.srcElement:e.target;if (targ.nodeType == 3) targ = targ.parentNode;var myDiv = targ;
    var range = window.event? myDiv.document.selection.createRange().text:window.getSelection();var iframe1=document.getElementById("iframe1");
    if(range.length <= 0) {
        iframe1.style.width=0;
        iframe1.style.height=0;
        return;
    }iframe1.style.width="300px";
    iframe1.style.height="120px";
    iframe1.style.left=e.clientX + document.body.scrollLeft;
    iframe1.style.top=e.clientY + document.body.scrollTop+10;
    iframe1.contentWindow.my_post(range);}</script>
    </head>
    <body>
    <p>aa</p>
    <p>aa</p>
    <p>aa</p>
    <p>aa</p>
    <p>aa</p>
    <p>aa</p><div onmouseup="my_mouseup(event)" >
    fkjsdgfksdgfgksdgfgsdfgsdgfgdsfhgdhfgjsdgfhsdgjfgsj123333333333
    333335435466666677777777789090906905869775765865786758657867586
    </div><div onmouseup="my_mouseup(event)" >
    hgfkdjghkhdfkghkdfhgkjhdfjkghkjdfhkj
    </div><iframe id="iframe1" name="myFrame"  src="iframe.htm"  
        width="0" height="0" style="position: absolute; left: 114px; top: 127px;">    
    </iframe></body>
    </html>