在html页面是可以但
但是放到iframe里面总是报告错误
郁闷啊
大虾们  改怎么修改啊
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>XXXXXXXXXX</title>
</head>
<body>
<div id='aa'>sdfasdfsadfasdfasfsafsdfasd</div>
<input value='给选中的东西加标签' type="button" onclick="ss()" />
<input value='显示innerHTML' type="button" onclick="show()" />
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<IFRAME id="ss" height="200" src="about:blank" width="200" ></IFRAME>
<input value='给iframe选中的东西加标签' type="button" onclick="error()" />
<input value='显示iframe中的innerHTML' type="button" onclick="showa()" />
<script>
var ed = null;window.onload = function(){
    var o = document.getElementById("ss"); 
    ed = document.all?o.contentWindow.document:o.contentDocument;
    ed.open();
    ed.write('<html><head><style>html,body{margin:5px;font:14px;word-wrap:break-word}</style></head><body id="my_body"></body></html>');
    ed.close();
    ed.contentEditable = true;
    ed.designMode = 'on';
}function ss(){
var rang = null;
    if(document.all)
{
var rang = document.selection.createRange();
rang.pasteHTML("<font style='font-size: 44px;' >"+rang.text+"</font>");
}
else
{
   s = window.getSelection();
   var n = document.createElement("font");
   n.style.fontSize="44px"; 
   s.getRangeAt(0).surroundContents(n);
}
}function error(){
var rang = null;
if(document.all)
{
var rang = ed.selection.createRange();
rang.pasteHTML("<font style='font-size: 44px;' >"+rang.text+"</font>");
}
else
{
   s = ed.getSelection();
   var n = ed.createElement("font");
   n.style.fontSize="44px"; 
   s.getRangeAt(0).surroundContents(n);
}
}function show(){
alert(document.getElementById('aa').innerHTML)
}
function showa(){
alert(ed.body.innerHTML)
}
</script>
</body>
<div></div>
</html>

解决方案 »

  1.   

    function error(){
        var rang = null;
        if(document.all)
        {
            var rang = ed.selection.createRange();
            rang.pasteHTML("<font style='font-size: 44px;' >"+rang.text+"</font>");
        }
        else
        {
           ed = document.getElementById("ss").contentWindow;
           s = ed.getSelection(); 
           var n = document.createElement("font");
           n.style.fontSize="44px"; 
           s.getRangeAt(0).surroundContents(n);
        }
    }
      

  2.   

    别忘了在IFRAME里就不能用document了
      

  3.   

    ed = document.all?o.contentWindow.document:o.contentDocument;
    ed.open();换成ed = (o.contentWindow || o).document;
      

  4.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>XXXXXXXXXX</title>
    </head>
    <body>
    <div id='aa'>sdfasdfsadfasdfasfsafsdfasd</div>
    <input value='给选中的东西加标签' type="button" onclick="ss()" />
    <input value='显示innerHTML' type="button" onclick="show()" />
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <IFRAME id="ss" height="200" src="about:blank" width="200" ></IFRAME>
    <input value='给iframe选中的东西加标签' type="button" onclick="error()" />
    <input value='显示iframe中的innerHTML' type="button" onclick="showa()" />
    <script>
    var ed = null;window.onload = function(){
        var o = document.getElementById("ss"); 
        ed = document.all?o.contentWindow.document:o.contentDocument;
        ed.open();
        ed.write('<html><head><style>html,body{margin:5px;font:14px;word-wrap:break-word}</style></head><body id="my_body"></body></html>');
        ed.close();
        ed.contentEditable = true;
        ed.designMode = 'on';
    }function ss(){
        var rang = null;
        if(document.all)
        {
            var rang = document.selection.createRange();
            rang.pasteHTML("<font style='font-size: 44px;' >"+rang.text+"</font>");
        }
        else
        {
           s = window.getSelection();
           var n = document.createElement("font");
           n.style.fontSize="44px"; 
           s.getRangeAt(0).surroundContents(n);
        }
    }function error(){
        var rang = null;
        if(document.all)
        {
            var rang = ed.selection.createRange();
            rang.pasteHTML("<font style='font-size: 44px;' >"+rang.text+"</font>");
        }
        else
        {
           ed = document.getElementById("ss").contentWindow;
           s = ed.getSelection(); 
           var n = document.createElement("font");
           n.style.fontSize="44px"; 
           s.getRangeAt(0).surroundContents(n);
        }
    }function show(){
        alert(document.getElementById('aa').innerHTML)
    }
    function showa(){
        alert(ed.body.innerHTML)
    }
    </script>
    </body>
    <div></div>
    </html>
      

  5.   

    哦,漏了一处
    function showa(){
      alert(document.getElementById("ss").contentWindow.document.body.innerHTML)
    }
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" > 
    <head> 
        <title>XXXXXXXXXX </title> 
    </head> 
    <body> 
    <div id='aa'>sdfasdfsadfasdfasfsafsdfasd </div> 
    <input value='给选中的东西加标签' type="button" onclick="ss()" /> 
    <input value='显示innerHTML' type="button" onclick="show()" /> 
    <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> 
    <IFRAME id="ss" height="200" src="about:blank" width="200" > </IFRAME> 
    <input value='给iframe选中的东西加标签' type="button" onclick="error()" /> 
    <input value='显示iframe中的innerHTML' type="button" onclick="showa()" /> 
    <script> 
    var ed = null; window.onload = function(){ 
        var o = document.getElementById("ss"); 
        ed = document.all?o.contentWindow.document:o.contentDocument; 
        ed.open(); 
        ed.write(' <html> <head> <style>html,body{margin:5px;font:14px;word-wrap:break-word} </style> </head> <body id="my_body"><div></div> </body> </html>'); 
        ed.close(); 
        ed.contentEditable = true; 
        ed.designMode = 'on'; 
    } function ss(){ 
        var rang = null; 
        if(document.all) 
        { 
            var rang = document.selection.createRange(); 
            rang.pasteHTML(" <font style='font-size: 44px;' >"+rang.text+" </font>"); 
        } 
        else 
        { 
          s = window.getSelection(); 
          var n = document.createElement("font"); 
          n.style.fontSize="44px"; 
          s.getRangeAt(0).surroundContents(n); 
        } 
    } function error(){ 
        var rang = null; 
        if(document.all) 
        { 
            var rang = ed.selection.createRange(); 
            rang.pasteHTML(" <font style='font-size: 44px;' >"+rang.text+" </font>"); 
        } 
        else 
        { 
          ed = document.getElementById("ss").contentWindow; 
          s = ed.getSelection(); 
          var n = document.createElement("font"); 
          n.style.fontSize="44px"; 
          alert(s.getRangeAt(0).commonAncestorContainer)//.surroundContents(n); 
        } 
    } function show(){ 
        alert(document.getElementById('aa').innerHTML) 

    function showa(){ 
        alert(ed.body.innerHTML) 

    </script> 
    </body> 
    <div> </div> 
    </html>