web控件打开网页2.htm(有个frame的src是3.htm),3.htm使用document.write画出一个 ID="sourceEditor"的编辑框,怎么填写?使用web控件打开网页2.htm(里面有个frame的src是3.htm),3.htm调用一个js文件,并使用document.write('<textarea ID="sourceEditor" style="height:280px;width:99%;display:none;">');划一个编辑框
请问:web控件打开网页2.htm时,怎么填写那个ID="sourceEditor"的编辑框?
附上:2.htm
<DIV id=dvHtmlEditor style="PADDING-RIGHT: 7px; LEFT: 0px; WIDTH: 100%; POSITION: relative; TOP: 0px">
<IFRAME id=htmlletter style="WIDTH: 100%; HEIGHT: 321px" tabIndex=3 border=0 name=I1 
src="3.htm" frameBorder=0 scrolling=no>
</IFRAME>
</DIV>附上:3.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0054)http://tg1a9.mail.163.com/func/HtmlEditor/htmltool.htm -->
<HTML><HEAD>
<SCRIPT language=JAVASCRIPT src="editfunc.js"></SCRIPT>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><META content="MSHTML 6.00.2900.3354" name=GENERATOR></HEAD>
<BODY>
<DIV id=divEditor>
<SCRIPT language=JavaScript>
<!--
if(document.all){
document.write('<table width="100%" height=287px border="0" cellspacing="0" cellpadding="0" id="tbhtmleditor"><tr><td style="border:1px solid #C5C5C5; border-top:0;"><IFRAME class="HtmlEditor" ID="HtmlEditor" name="HtmlEditor" style=" height:286px;width:100%" frameBorder="0" marginHeight=0 marginWidth=0 src="blank.htm"></IFRAME></td></tr></table>');
}else{
document.write('<table width="100%" height=288px border="0" cellspacing="0" cellpadding="0" id="tbhtmleditor"><tr><td style="border:1px solid #C5C5C5; border-top:0;"><IFRAME class="HtmlEditor" ID="HtmlEditor" name="HtmlEditor" style=" height:283px;width:100%" frameBorder="0" marginHeight=0 marginWidth=0 src="blank.htm"></IFRAME></td></tr></table>');
}
//-->
</SCRIPT>
</DIV>
<SCRIPT language=JavaScript>
<!--
if(document.all){
document.write('<textarea ID="sourceEditor" style="height:280px;width:99%;display:none;">');
}else{
document.write('<textarea ID="sourceEditor" style="height:282px;width:99%;display:none">');
}
//-->
</SCRIPT>
</BODY></HTML>

解决方案 »

  1.   

    附上:editfunc.jsvar gSetColorType = ""; 
    var gIsIE = document.all; 
    var gIEVer = fGetIEVer();
    var ev = null;
    function fGetEv(e){
    ev = e;
    }
    function fGetIEVer(){
    var iVerNo = 0;
    var sVer = navigator.userAgent;
    if(sVer.indexOf("MSIE")>-1){
    var sVerNo = sVer.split(";")[1];
    sVerNo = sVerNo.replace("MSIE","");
    iVerNo = parseFloat(sVerNo);
    }
    return iVerNo;
    }
    function fSetEditable(){
    var f = window.frames["HtmlEditor"];
    f.document.designMode="on";
    if(!gIsIE)
    f.document.execCommand("useCSS",false, true);
    }
    function fSetFrmClick(){
    var f = window.frames["HtmlEditor"];
    f.document.onmousemove = function(){
    window.onblur();
    }
    f.document.onclick = function(){
    fHideMenu();
    }
    }
    window.onload = function(){
    fSetEditable();
    fSetFrmClick();
    //if(!gIsIE) fSetContent();
    }
    function fSetContent(){
    var f = window.frames["HtmlEditor"];
    var foldmain = window.parent;
    var htext = foldmain.document.sendmail.htext.value;
    var eBody = null;
    eBody = f.document.getElementsByTagName("BODY")[0];
    if(htext != "") 
    htext = "<br><br><br><br><br><br><br>" + htext;
    eBody.innerHTML = htext;
    }
    function fSetColor(){
    var dvForeColor =document.getElementById("dvForeColor");
    if(dvForeColor.getElementsByTagName("TABLE").length == 1){
    dvForeColor.innerHTML = drawCube() + dvForeColor.innerHTML;
    }
    }
    window.onblur =function(){
    var dvForeColor =document.getElementById("dvForeColor");
    var dvPortrait =document.getElementById("dvPortrait");
    dvForeColor.style.display = "none";
    if(dvPortrait){
    dvPortrait.style.display = "none";
    }
    fHideMenu();
    }
    window.onerror = function(){return true;}
    document.onmousemove = function(e){
    if(gIsIE) var el = event.srcElement;
    else var el = e.target;
    var tdView = document.getElementById("tdView");
    var tdColorCode = document.getElementById("tdColorCode");
    var dvForeColor =document.getElementById("dvForeColor");
    var dvPortrait =document.getElementById("dvPortrait");
    var fontsize =document.getElementById("fontsize");
    var fontface =document.getElementById("fontface");
    // if(el.tagName == "IMG"){
    // el.style.borderRight="1px #cccccc solid";
    // el.style.borderBottom="1px #cccccc solid";
    // }else{
    // fSetImgBorder();
    // }
    if(el.tagName == "IMG"){
    try{
    if(fCheckIfColorBoard(el)){
    tdView.bgColor = el.parentNode.bgColor;
    tdColorCode.innerHTML = el.parentNode.bgColor
    }
    }catch(e){}
    }else{
    dvForeColor.style.display = "none";
    if(!fCheckIfPortraitBoard(el) && dvPortrait) dvPortrait.style.display = "none";
    if(!fCheckIfFontFace(el)) fontface.style.display = "none";
    if(!fCheckIfFontSize(el)) fontsize.style.display = "none";
    }
    }
    document.onclick = function(e){
    if(gIsIE) var el = event.srcElement;
    else var el = e.target;
    var dvForeColor =document.getElementById("dvForeColor");
    var dvPortrait =document.getElementById("dvPortrait");
    if(el.tagName == "IMG"){
    try{
    if(fCheckIfColorBoard(el)){
    format(gSetColorType, el.parentNode.bgColor);
    dvForeColor.style.display = "none";
    return;
    }
    }catch(e){}
    try{
    if(fCheckIfPortraitBoard(el)){
    format("InsertImage", el.src);
    if(dvPortrait){
    dvPortrait.style.display = "none";
    }
    return;
    }
    }catch(e){}
    }
    }
    function format(type, para){
    var f = window.frames["HtmlEditor"];
    var sAlert = "";
    if(!gIsIE){
    switch(type){
    case "Cut":
    sAlert = "你的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl+X)来完成";
    break;
    case "Copy":
    sAlert = "你的浏览器安全设置不允许编辑器自动执行拷贝操作,请使用键盘快捷键(Ctrl+C)来完成";
    break;
    case "Paste":
    sAlert = "你的浏览器安全设置不允许编辑器自动执行粘贴操作,请使用键盘快捷键(Ctrl+V)来完成";
    break;
    }
    }
    if(sAlert != ""){
    alert(sAlert);
    return;
    }
    f.focus();
    if(!para)
    if(gIsIE)
    f.document.execCommand(type)
    else
    f.document.execCommand(type,false,false)
    else
    f.document.execCommand(type,false,para)
    f.focus();
    }
    function setMode(bStatus){
    var sourceEditor = document.getElementById("sourceEditor");
    var HtmlEditor = document.getElementById("tbhtmleditor");
    var f = window.frames["HtmlEditor"];
    var body = f.document.getElementsByTagName("BODY")[0];
    if(bStatus){
    sourceEditor.style.display = "";
    HtmlEditor.style.display = "none";
    sourceEditor.value = body.innerHTML;
    }else{
    sourceEditor.style.display = "none";
    HtmlEditor.style.display = "";
    body.innerHTML = sourceEditor.value;
    fSetEditable();
    }
    }
      

  2.   

    (接)
    function foreColor(e) {
    var sColor = fDisplayColorBoard(e);
    gSetColorType = "foreColor";
    if(gIEVer<=5.01 && gIsIE) format(gSetColorType, sColor);
    }
    function backColor(e){
    var sColor = fDisplayColorBoard(e);
    if(gIsIE)
    gSetColorType = "backcolor";
    else
    gSetColorType = "backcolor";
    if(gIEVer<=5.01 && gIsIE) format(gSetColorType, sColor);
    }
    function fDisplayColorBoard(e){
    if(gIsIE){
    var e = window.event;
    }
    if(gIEVer<=5.01 && gIsIE){
    var arr = showModalDialog("ColorSelect.htm", "", "font-family:Verdana; font-size:12; status:no; dialogWidth:21em; dialogHeight:21em");
    if (arr != null) return arr;
    return;
    }
    var dvForeColor =document.getElementById("dvForeColor");
    fSetColor();
    var iX = e.clientX;
    var iY = e.clientY;
    dvForeColor.style.display = "";
    dvForeColor.style.left = (iX-140) + "px";
    dvForeColor.style.top = (iY-10) + "px";
    return true;
    }
    function createLink() {
    var sURL=window.prompt("Enter link location (e.g. http://www.163.com/):", "http://");
    if ((sURL!=null) && (sURL!="http://")){
    format("CreateLink", sURL);
    }
    }
    function createImg() {
    var sPhoto=prompt("请输入图片位置:", "http://");
    if ((sPhoto!=null) && (sPhoto!="http://")){
    format("InsertImage", sPhoto);
    }
    }
    function addPortrait(e){
    if(gIEVer<=5.01 && gIsIE){
    var imgurl = showModalDialog("portraitSelect.htm","", "font-family:Verdana; font-size:12; status:no; unadorned:yes; scroll:no; resizable:yes;dialogWidth:40em; dialogHeight:20em");
    if (imgurl != null) format("InsertImage", imgurl);
    return;
    }
    var dvPortrait =document.getElementById("dvPortrait");
    var tbPortrait = document.getElementById("tbPortrait");
    var iX = e.clientX;
    var iY = e.clientY;
    dvPortrait.style.display = "";
    if(window.screen.width == 1024){
    dvPortrait.style.left = (iX-380) + "px";
    }else{
    if(gIsIE)
    dvPortrait.style.left = (iX-380) + "px";
    else
    dvPortrait.style.left = (iX-380) + "px";
    }
    dvPortrait.style.top = (iY-8) + "px";
    dvPortrait.innerHTML = '<table width="100%" border="0" cellpadding="5" cellspacing="1" style="cursor:hand" bgcolor="black" ID="tbPortrait"><tr align="left" bgcolor="#f8f8f8" class="unnamed1" align="center" ID="trContent">'+ drawPortrats() +'</tr> </table>';
    }
    function fCheckIfColorBoard(obj){
    if(obj.parentNode){
    if(obj.parentNode.id == "dvForeColor") return true;
    else return fCheckIfColorBoard(obj.parentNode);
    }else{
    return false;
    }
    }
    function fCheckIfPortraitBoard(obj){
    if(obj.parentNode){
    if(obj.parentNode.id == "dvPortrait") return true;
    else return fCheckIfPortraitBoard(obj.parentNode);
    }else{
    return false;
    }
    }
    function fImgOver(el){
    if(el.tagName == "IMG"){
    el.style.borderRight="1px #cccccc solid";
    el.style.borderBottom="1px #cccccc solid";
    }
    }
    function fImgMoveOut(el){
    if(el.tagName == "IMG"){
    el.style.borderRight="1px #F3F8FC solid";
    el.style.borderBottom="1px #F3F8FC solid";
    }
    }
    String.prototype.trim = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
    }
    function fSetBorderMouseOver(obj) {
    obj.style.borderRight="1px solid #aaa";
    obj.style.borderBottom="1px solid #aaa";
    obj.style.borderTop="1px solid #fff";
    obj.style.borderLeft="1px solid #fff";
    /*var sd = document.getElementsByTagName("div");
    for(i=0;i<sd.length;i++) {
    sd[i].style.display = "none";
    }*/
    } function fSetBorderMouseOut(obj) {
    obj.style.border="none";
    }function fSetBorderMouseDown(obj) {
    obj.style.borderRight="1px #F3F8FC solid";
    obj.style.borderBottom="1px #F3F8FC solid";
    obj.style.borderTop="1px #cccccc solid";
    obj.style.borderLeft="1px #cccccc solid";
    }
    function fDisplayElement(element,displayValue) {
    if(gIEVer<=5.01 && gIsIE){
    if(element == "fontface"){
    var sReturnValue = showModalDialog("FontFaceSelect.htm","", "font-family:Verdana; font-size:12; status:no; unadorned:yes; scroll:no; resizable:yes;dialogWidth:112px; dialogHeight:271px");;
    format("fontname",sReturnValue);
    }else{
    var sReturnValue = showModalDialog("FontSizeSelect.htm","", "font-family:Verdana; font-size:12; status:no; unadorned:yes; scroll:no; resizable:yes;dialogWidth:130px; dialogHeight:250px");;
    format("fontsize",sReturnValue);
    }
    return;
    }
    if(element == "fontface"){
    var fontsize = document.getElementById("fontsize");
    fontsize.style.display = "none";
    }else if(element == "fontsize"){
    var fontface = document.getElementById("fontface");
    fontface.style.display = "none";
    }
    if ( typeof element == "string" )
    element = document.getElementById(element);
    if (element == null) return;
    element.style.display = displayValue;
    if(gIsIE){
    var e = event;
    }else{
    var e = ev;
    }
    var iX = e.clientX;
    var iY = e.clientY;
    element.style.display = "";
    element.style.left = (iX-40) + "px";
    element.style.top = (iY-10) + "px";
    return true;
    }
    function fSetModeTip(obj){
    var x = f_GetX(obj);
    var y = f_GetY(obj);
    var dvModeTip = document.getElementById("dvModeTip");
    if(!dvModeTip){
    var dv = document.createElement("DIV");
    dv.style.position = "absolute";
    dv.style.top = (y+20) + "px";
    dv.style.left = (x-40) + "px";
    dv.style.zIndex = "999";
    dv.style.fontSize = "12px";
    dv.id = "dvModeTip";
    dv.style.padding = "2 2 0 2px";
    dv.style.border = "1px #000000 solid";
    dv.style.backgroundColor = "#FFFFCC";
    dv.style.height = "12px";
    dv.innerHTML = "编辑源码";
    document.body.appendChild(dv);
    }else{
    dvModeTip.style.display = "";
    }
    }
    function fHideTip(){
    document.getElementById("dvModeTip").style.display = "none";
    }
    function f_GetX(e)
    {
    var l=e.offsetLeft;
    while(e=e.offsetParent){
    l+=e.offsetLeft;
    }
    return l;
    }
    function f_GetY(e)
    {
    var t=e.offsetTop;
    while(e=e.offsetParent){
    t+=e.offsetTop;
    }
    return t;
    }
    function fHideMenu(){
    var fontface = document.getElementById("fontface");
    var fontsize = document.getElementById("fontsize");
    fontface.style.display = "none";
    fontsize.style.display = "none";
    }function fCheckIfFontFace(obj){
    if(obj.parentNode){
    if(obj.parentNode.id == "fontface") return true;
    else return fCheckIfFontFace(obj.parentNode);
    }else{
    return false;
    }
    }
    function fCheckIfFontSize(obj){
    if(obj.parentNode){
    if(obj.parentNode.id == "fontsize") return true;
    else return fCheckIfFontSize(obj.parentNode);
    }else{
    return false;
    }
    }