BVB Source Codes

Pcook CMS bubble guest v3.0 SDCMS version Show main_xhtml.js Source code

Return Download Pcook CMS bubble guest v3.0 SDCMS version: download main_xhtml.js Source code - Download Pcook CMS bubble guest v3.0 SDCMS version Source code - Type:.js
  1. function doCmd(idIframe,sCmd,sOption)
  2.         {
  3.         var oEditor=eval(idIframe);
  4.         var oSel=oEditor.document.selection.createRange();
  5.         var sType=oEditor.document.selection.type;
  6.         var oTarget=(sType=="None"?oEditor.document:oSel);
  7.         oTarget.execCommand(sCmd,false,sOption);
  8.         }
  9.  
  10. function getHTMLBody(idIframe)
  11.         {
  12.         var oEditor=eval(idIframe);
  13.  
  14.         sHTML=oEditor.document.body.innerHTML;
  15.         sHTML=String(sHTML).replace(/\<PARAM NAME=\"Play\" VALUE=\"0\">/ig,"<PARAM NAME=\"Play\" VALUE=\"-1\">");
  16.         return sHTML;
  17.         }
  18.  
  19. function getXHTMLBody(idIframe)
  20.         {
  21.         var oEditor=eval(idIframe);
  22.         cleanDeprecated(idIframe);
  23.         return recur(oEditor.document.body,"");
  24.         }
  25.  
  26. /*Insert custom HTML function*/
  27. function insertHTML(wndIframe, sHTML)
  28.   {
  29.   var oEditor=wndIframe;
  30.   var oSel=oEditor.document.selection.createRange();
  31.  
  32.   var arrA = String(sHTML).match(/<A[^>]*>/ig);
  33.   if(arrA)
  34.     for(var i=0;i<arrA.length;i++)
  35.       {
  36.       sTmp = arrA[i].replace(/href=/,"href_iwe=");
  37.       sHTML=String(sHTML).replace(arrA[i],sTmp);
  38.       }
  39.  
  40.   var arrB = String(sHTML).match(/<IMG[^>]*>/ig);
  41.   if(arrB)
  42.     for(var i=0;i<arrB.length;i++)
  43.       {
  44.       sTmp = arrB[i].replace(/src=/,"src_iwe=");
  45.       sHTML=String(sHTML).replace(arrB[i],sTmp);
  46.       }
  47.  
  48.   if(oSel.parentElement)oSel.pasteHTML(sHTML);
  49.   else oSel.item(0).outerHTML=sHTML;
  50.  
  51.   for(var i=0;i<oEditor.document.all.length;i++)
  52.     {
  53.     if(oEditor.document.all[i].getAttribute("href_iwe"))
  54.       {
  55.       oEditor.document.all[i].href=oEditor.document.all[i].getAttribute("href_iwe");
  56.       oEditor.document.all[i].removeAttribute("href_iwe",0);
  57.       }
  58.     if(oEditor.document.all[i].getAttribute("src_iwe"))
  59.       {
  60.       oEditor.document.all[i].src=oEditor.document.all[i].getAttribute("src_iwe");
  61.       oEditor.document.all[i].removeAttribute("src_iwe",0);
  62.       }
  63.     }
  64.   }
  65.  
  66. /************************************
  67.         CLEAN DEPRECATED TAGS; Used in loadHTML, getHTMLBody, getXHTMLBody
  68. *************************************/
  69. function cleanDeprecated(idIframe)
  70.         {
  71.         var oEditor=eval(idIframe);
  72.  
  73.         var elements;
  74.  
  75.         //elements=oEditor.document.body.getElementsByTagName("STRONG");
  76.         //cleanTags(idIframe,elements,"bold");
  77.         //elements=oEditor.document.body.getElementsByTagName("B");
  78.         //cleanTags(idIframe,elements,"bold");
  79.  
  80.         //elements=oEditor.document.body.getElementsByTagName("I");
  81.         //cleanTags(idIframe,elements,"italic");
  82.         //elements=oEditor.document.body.getElementsByTagName("EM");
  83.         //cleanTags(idIframe,elements,"italic");
  84.        
  85.         elements=oEditor.document.body.getElementsByTagName("STRIKE");
  86.         cleanTags(idIframe,elements,"line-through");
  87.         elements=oEditor.document.body.getElementsByTagName("S");
  88.         cleanTags(idIframe,elements,"line-through");
  89.        
  90.         elements=oEditor.document.body.getElementsByTagName("U");
  91.         cleanTags(idIframe,elements,"underline");
  92.  
  93.         replaceTags(idIframe,"DIR","DIV");
  94.         replaceTags(idIframe,"MENU","DIV");    
  95.         replaceTags(idIframe,"CENTER","DIV");
  96.         replaceTags(idIframe,"XMP","PRE");
  97.         replaceTags(idIframe,"BASEFONT","SPAN");//will be removed by cleanEmptySpan()
  98.        
  99.         elements=oEditor.document.body.getElementsByTagName("APPLET");
  100.         var count=elements.length;
  101.         while(count>0)
  102.                 {
  103.                 f=elements[0];
  104.                 f.removeNode(false);  
  105.                 count--;
  106.                 }
  107.        
  108.         cleanFonts(idIframe);
  109.         cleanEmptySpan(idIframe);
  110.  
  111.         return true;
  112.         }
  113. function cleanEmptySpan(idIframe)//WARNING: blm bisa remove span yg bertumpuk dgn style sama,dst.
  114.         {
  115.         var bReturn=false;
  116.         var oEditor=eval(idIframe);
  117.         var allSpans=oEditor.document.getElementsByTagName("SPAN");
  118.         if(allSpans.length==0)return false;
  119.  
  120.         var emptySpans=[];
  121.         var reg = /<\s*SPAN\s*>/gi;
  122.         for(var i=0;i<allSpans.length;i++)
  123.                 {
  124.                 if(allSpans[i].outerHTML.search(reg)==0)
  125.                         emptySpans[emptySpans.length]=allSpans[i];
  126.                 }
  127.         var theSpan,theParent;
  128.         for(var i=0;i<emptySpans.length;i++)
  129.                 {
  130.                 theSpan=emptySpans[i];
  131.                 theSpan.removeNode(false);
  132.                 bReturn=true;
  133.                 }
  134.         return bReturn;
  135.         }
  136. function cleanFonts(idIframe)
  137.         {
  138.         var oEditor=eval(idIframe);
  139.         var allFonts=oEditor.document.body.getElementsByTagName("FONT");
  140.         if(allFonts.length==0)return false;
  141.  
  142.         var f;
  143.         while(allFonts.length>0)
  144.                 {
  145.                 f=allFonts[0];
  146.                 if(f.hasChildNodes && f.childNodes.length==1 && f.childNodes[0].nodeType==1 && f.childNodes[0].nodeName=="SPAN")
  147.                         {
  148.                         //if font containts only span child node
  149.                         copyAttribute(f.childNodes[0],f);
  150.                         f.removeNode(false);
  151.                         }
  152.                 else
  153.                         if(f.parentElement.nodeName=="SPAN" && f.parentElement.childNodes.length==1)
  154.                                 {
  155.                                 //font is the only child node of span.
  156.                                 copyAttribute(f.parentElement,f);
  157.                                 f.removeNode(false);
  158.                                 }
  159.                         else
  160.                                 {
  161.                                 var newSpan=oEditor.document.createElement("SPAN");
  162.                                 copyAttribute(newSpan,f);
  163.                                 newSpan.innerHTML=f.innerHTML;
  164.                                 f.replaceNode(newSpan);
  165.                                 }
  166.                 }
  167.         return true;
  168.         }
  169. function cleanTags(idIframe,elements,sVal)//WARNING: Dgn asumsi underline & linethrough tidak bertumpuk
  170.         {
  171.         var oEditor=eval(idIframe);
  172.         var f;
  173.         while(elements.length>0)
  174.                 {
  175.                 f=elements[0];
  176.                 if(f.hasChildNodes && f.childNodes.length==1 && f.childNodes[0].nodeType==1 && f.childNodes[0].nodeName=="SPAN")
  177.                         {//if font containts only span child node
  178.                         if(sVal=="bold")f.childNodes[0].style.fontWeight="bold";
  179.                         if(sVal=="italic")f.childNodes[0].style.fontStyle="italic";
  180.                         if(sVal=="line-through")f.childNodes[0].style.textDecoration="line-through";
  181.                         if(sVal=="underline")f.childNodes[0].style.textDecoration="underline"; 
  182.                         f.removeNode(false);
  183.                         }
  184.                 else
  185.                         if(f.parentElement.nodeName=="SPAN" && f.parentElement.childNodes.length==1)
  186.                                 {//font is the only child node of span.
  187.                                 if(sVal=="bold")f.parentElement.style.fontWeight="bold";
  188.                                 if(sVal=="italic")f.parentElement.style.fontStyle="italic";
  189.                                 if(sVal=="line-through")f.parentElement.style.textDecoration="line-through";
  190.                                 if(sVal=="underline")f.parentElement.style.textDecoration="underline"; 
  191.                                 f.removeNode(false);
  192.                                 }
  193.                         else
  194.                                 {
  195.                                 var newSpan=oEditor.document.createElement("SPAN");
  196.                                 if(sVal=="bold")newSpan.style.fontWeight="bold";
  197.                                 if(sVal=="italic")newSpan.style.fontStyle="italic";
  198.                                 if(sVal=="line-through")newSpan.style.textDecoration="line-through";
  199.                                 if(sVal=="underline")newSpan.style.textDecoration="underline";
  200.                                 newSpan.innerHTML=f.innerHTML;
  201.                                 f.replaceNode(newSpan);
  202.                                 }
  203.                 }
  204.         }
  205. function replaceTags(idIframe,sFrom,sTo)
  206.         {
  207.         var oEditor=eval(idIframe);
  208.         var elements=oEditor.document.getElementsByTagName(sFrom);
  209.  
  210.         var newSpan;
  211.         var count=elements.length;
  212.         while(count > 0)
  213.                 {
  214.                 f=elements[0];
  215.                 newSpan=oEditor.document.createElement(sTo);
  216.                 newSpan.innerHTML=f.innerHTML;
  217.                 f.replaceNode(newSpan);          
  218.                 count--;
  219.                 }
  220.         }
  221. function copyAttribute(newSpan,f)
  222.     {
  223.     if((f.face!=null)&&(f.face!=""))newSpan.style.fontFamily=f.face;
  224.     if((f.size!=null)&&(f.size!=""))
  225.         {
  226.         var nSize="";
  227.         if(f.size==1)nSize="8pt";
  228.         else if(f.size==2)nSize="10pt";
  229.         else if(f.size==3)nSize="12pt";
  230.         else if(f.size==4)nSize="14pt";
  231.         else if(f.size==5)nSize="18pt";
  232.         else if(f.size==6)nSize="24pt";
  233.         else if(f.size>=7)nSize="36pt";
  234.         else if(f.size<=-2||f.size=="0")nSize="8pt";
  235.         else if(f.size=="-1")nSize="10pt";
  236.         else if(f.size==0)nSize="12pt";
  237.         else if(f.size=="+1")nSize="14pt";
  238.         else if(f.size=="+2")nSize="18pt";
  239.         else if(f.size=="+3")nSize="24pt";
  240.         else if(f.size=="+4"||f.size=="+5"||f.size=="+6")nSize="36pt";
  241.         else nSize="";
  242.         if(nSize!="")newSpan.style.fontSize=nSize;
  243.         }
  244.     if((f.style.backgroundColor!=null)&&(f.style.backgroundColor!=""))newSpan.style.backgroundColor=f.style.backgroundColor;
  245.     if((f.color!=null)&&(f.color!=""))newSpan.style.color=f.color;
  246.     }  
  247. function GetElement(oElement,sMatchTag)
  248.         {
  249.         while (oElement!=null&&oElement.tagName!=sMatchTag)
  250.                 {
  251.                 if(oElement.tagName=="BODY")return null;
  252.                 oElement=oElement.parentElement;
  253.                 }
  254.         return oElement;
  255.         }
  256.  
  257. /************************************
  258.         HTML to XHTML
  259. *************************************/
  260. function lineBreak1(tag) //[0]<TAG>[1]text[2]</TAG>
  261.         {
  262.         arrReturn = ["\n","",""];
  263.         if(     tag=="A"||tag=="B"||tag=="CITE"||tag=="CODE"||tag=="EM"||
  264.                 tag=="FONT"||tag=="I"||tag=="SMALL"||tag=="STRIKE"||tag=="BIG"||
  265.                 tag=="STRONG"||tag=="SUB"||tag=="SUP"||tag=="U"||tag=="SAMP"||
  266.                 tag=="S"||tag=="VAR"||tag=="BASEFONT"||tag=="KBD"||tag=="TT")
  267.                 arrReturn=["","",""];
  268.  
  269.         if(     tag=="TEXTAREA"||tag=="TABLE"||tag=="THEAD"||tag=="TBODY"||
  270.                 tag=="TR"||tag=="OL"||tag=="UL"||tag=="DIR"||tag=="MENU"||
  271.                 tag=="FORM"||tag=="SELECT"||tag=="MAP"||tag=="DL"||tag=="HEAD"||
  272.                 tag=="BODY"||tag=="HTML")
  273.                 arrReturn=["\n","","\n"];
  274.  
  275.         if(     tag=="STYLE"||tag=="SCRIPT")
  276.                 arrReturn=["\n","",""];
  277.  
  278.         if(tag=="BR"||tag=="HR")
  279.                 arrReturn=["","\n",""];
  280.  
  281.         return arrReturn;
  282.         }
  283. function fixAttr(s)
  284.         {
  285.         s = String(s).replace(/&/g, "&amp;");
  286.         s = String(s).replace(/</g, "&lt;");
  287.         s = String(s).replace(/"/g, "&quot;");
  288.         return s;
  289.         }
  290. function fixVal(s)
  291.         {
  292.         s = String(s).replace(/&/g, "&amp;");
  293.         s = String(s).replace(/</g, "&lt;");
  294.         var x = escape(s);
  295.         x = unescape(x.replace(/\%A0/gi, "-*REPL*-"));
  296.         s = x.replace(/-\*REPL\*-/gi, "&nbsp;");
  297.         return s;
  298.         }
  299. function recur(oEl,sTab)
  300.         {
  301.         var sHTML="";
  302.         for(var i=0;i<oEl.childNodes.length;i++)
  303.                 {
  304.                 var oNode=oEl.childNodes(i);
  305.                 if(oNode.nodeType==1)//tag
  306.                         {                      
  307.                         var sTagName = oNode.nodeName;
  308.  
  309.             var sCloseTag = oNode.outerHTML;
  310.             if (sCloseTag.indexOf("<?xml:namespace") > -1) sCloseTag=sCloseTag.substr(sCloseTag.indexOf(">")+1);
  311.             sCloseTag = sCloseTag.substring(1, sCloseTag.indexOf(">"));
  312.             if (sCloseTag.indexOf(" ")>-1) sCloseTag=sCloseTag.substring(0, sCloseTag.indexOf(" "));
  313.  
  314.                         var bDoNotProcess=false;
  315.                         if(sTagName.substring(0,1)=="/")
  316.                                 {
  317.                                 bDoNotProcess=true;//do not process
  318.                                 }
  319.                         else
  320.                                 {
  321.                                 /*** tabs ***/
  322.                                 var sT= sTab;
  323.                                
  324.                                 sHTML+= lineBreak1(sTagName)[0];
  325.                                 if(lineBreak1(sTagName)[0] !="") sHTML+= sT;//If new line, use base Tabs
  326.                                 /************/
  327.                                 }
  328.  
  329.                         if(bDoNotProcess)
  330.                                 {
  331.                                 ;//do not process
  332.                                 }
  333.                         else if(sTagName=="OBJECT" || sTagName=="EMBED")
  334.                                 {
  335.                                 s=oNode.outerHTML;
  336.  
  337.                                 s=s.replace(/\"[^\"]*\"/ig,function(x){
  338.                                                 x=x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/\s+/ig,"#_#");
  339.                                                 return x});
  340.                                 s=s.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()});        
  341.                                 s=s.replace(/ ([^=]+)=([^"' >]+)/ig," $1=\"$2\"");//new
  342.                                 s=s.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});
  343.                                 s=s.replace(/#_#/ig," ");
  344.  
  345.                                 s=s.replace(/<param([^>]*)>/ig,"\n<param$1 />").replace(/\/ \/>$/ig," \/>");//no closing tag
  346.  
  347.                                 if(sTagName=="EMBED")
  348.                                         if(oNode.innerHTML=="")
  349.                                                 s=s.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");//no closing tag
  350.  
  351.                                 s=s.replace(/<param name=\"Play\" value=\"0\" \/>/,"<param name=\"Play\" value=\"-1\" \/>");
  352.  
  353.                                 sHTML+=s;
  354.                                 }
  355.                         else if(sTagName=="TITLE")
  356.                                 {
  357.                                 sHTML+="<title>"+oNode.innerHTML+"</title>";
  358.                                 }
  359.                         else
  360.                                 {
  361.                                 if(sTagName=="AREA")
  362.                                         {
  363.                                         var sCoords=oNode.coords;
  364.                                         var sShape=oNode.shape;
  365.                                         }
  366.  
  367.                                 var oNode2=oNode.cloneNode();
  368.                                 if (oNode.checked) oNode2.checked=oNode.checked;
  369.                                 s=oNode2.outerHTML.replace(/<\/[^>]*>/,"");
  370.                                 s = s.replace(/(\r\n)+/,"");
  371.                                 if(sTagName=="STYLE")
  372.                                         {
  373.                                         var arrTmp=s.match(/<[^>]*>/ig);
  374.                                         s=arrTmp[0];
  375.                                         }
  376.  
  377.                                 s=s.replace(/\"[^\"]*\"/ig,function(x){
  378.                                                 //x=x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/\s+/ig,"#_#");
  379.                                                 //x=x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\s+/ig,"#_#");
  380.                                                 x=x.replace(/&/g, "&amp;").replace(/&amp;amp;/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\s+/ig,"#_#");
  381.                                                 return x});
  382.                                                 //info ttg: .replace(/&amp;amp;/g, "&amp;")
  383.                                                 //ini karena '&' di (hanya) '&amp;' selalu di-replace lagi dgn &amp;.
  384.                                                 //tapi kalau &lt; , &gt; tdk (no problem) => default behaviour
  385.  
  386.                                 s=s.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()});        
  387.                                 s=s.replace(/ ([^=]+)=([^" >]+)/ig," $1=\"$2\"");
  388.                                 s=s.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});
  389.                                 s=s.replace(/#_#/ig," ");
  390.  
  391.                                 //single attribute
  392.                                 s=s.replace(/[<hr]?(noshade)/ig,"noshade=\"noshade\"");
  393.                                 s=s.replace(/[<input]?(checked)/ig,"checked=\"checked\"");
  394.                                 s=s.replace(/[<select]?(multiple)/ig,"multiple=\"multiple\"");
  395.                                 s=s.replace(/[<option]?(selected)/ig,"selected=\"true\"");
  396.                                 s=s.replace(/[<input]?(readonly)/ig,"readonly=\"readonly\"");
  397.                                 s=s.replace(/[<input]?(disabled)/ig,"disabled=\"disabled\"");
  398.                                 s=s.replace(/[<td]?(nowrap )/ig,"nowrap=\"nowrap\" ");
  399.                                 s=s.replace(/[<td]?(nowrap\>)/ig,"nowrap=\"nowrap\"\>");
  400.  
  401.                                 s=s.replace(/ contenteditable=\"true\"/ig,"");
  402.  
  403.                                 if(sTagName=="AREA")
  404.                                         {
  405.                                         s=s.replace(/ coords=\"0,0,0,0\"/ig," coords=\""+sCoords+"\"");
  406.                                         s=s.replace(/ shape=\"RECT\"/ig," shape=\""+sShape+"\"");
  407.                                         }
  408.  
  409.                                 var bClosingTag=true;
  410.                                 if(sTagName=="IMG"||sTagName=="BR"||
  411.                                         sTagName=="AREA"||sTagName=="HR"||
  412.                                         sTagName=="INPUT"||sTagName=="BASE"||
  413.                                         sTagName=="LINK")//no closing tag
  414.                                         {
  415.                                         s=s.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");//no closing tag
  416.                                         bClosingTag=false;     
  417.                                         }
  418.  
  419.                                 sHTML+=s;
  420.  
  421.                                 /*** tabs ***/
  422.                                 if(sTagName!="TEXTAREA")sHTML+= lineBreak1(sTagName)[1];
  423.                                 if(sTagName!="TEXTAREA")if(lineBreak1(sTagName)[1] !="") sHTML+= sT;//If new line, use base Tabs
  424.                                 /************/
  425.  
  426.                                 if(bClosingTag)
  427.                                         {
  428.                                         /*** CONTENT ***/
  429.                                         s=oNode.outerHTML;                                     
  430.                                         if(sTagName=="SCRIPT")
  431.                                                 {
  432.                                                 s = s.replace(/<script([^>]*)>[\n+\s+\t+]*/ig,"<script$1>");//clean spaces
  433.                                                 s = s.replace(/[\n+\s+\t+]*<\/script>/ig,"<\/script>");//clean spaces
  434.                                                 s = s.replace(/<script([^>]*)>\/\/<!\[CDATA\[/ig,"");
  435.                                                 s = s.replace(/\/\/\]\]><\/script>/ig,"");
  436.                                                 s = s.replace(/<script([^>]*)>/ig,"");
  437.                                                 s = s.replace(/<\/script>/ig,"");              
  438.                                                 s = s.replace(/^\s+/,'').replace(/\s+$/,'');                                           
  439.  
  440.                                                 sHTML+="\n"+
  441.                                                         sT + "//<![CDATA[\n"+
  442.                                                         sT + s + "\n"+
  443.                                                         sT + "//]]>\n"+sT;
  444.                                                 }
  445.                                         if(sTagName=="STYLE")
  446.                                                 {
  447.                                                 s = s.replace(/<style([^>]*)>[\n+\s+\t+]*/ig,"<style$1>");//clean spaces
  448.                                                 s = s.replace(/[\n+\s+\t+]*<\/style>/ig,"<\/style>");//clean spaces                    
  449.                                                 s = s.replace(/<style([^>]*)><!--/ig,"");
  450.                                                 s = s.replace(/--><\/style>/ig,"");
  451.                                                 s = s.replace(/<style([^>]*)>/ig,"");
  452.                                                 s = s.replace(/<\/style>/ig,"");               
  453.                                                 s = s.replace(/^\s+/,"").replace(/\s+$/,"");                                   
  454.  
  455.                                                 sHTML+="\n"+
  456.                                                         sT + "<!--\n"+
  457.                                                         sT + s + "\n"+
  458.                                                         sT + "-->\n"+sT;
  459.                                                 }
  460.                                         if(sTagName=="DIV"||sTagName=="P")
  461.                                                 {
  462.                                                 if(oNode.innerHTML==""||oNode.innerHTML=="&nbsp;")
  463.                                                         {
  464.                                                         sHTML+="&nbsp;";
  465.                                                         }
  466.                                                 else sHTML+=recur(oNode,sT+"\t");
  467.                                                 }
  468.                                         else
  469.                                                 {
  470.                                                 sHTML+=recur(oNode,sT+"\t");
  471.                                                 }
  472.  
  473.                                         /*** tabs ***/
  474.                                         if(sTagName!="TEXTAREA")sHTML+=lineBreak1(sTagName)[2];
  475.                                         if(sTagName!="TEXTAREA")if(lineBreak1(sTagName)[2] !="")sHTML+=sT;//If new line, use base Tabs
  476.                                         /************/
  477.  
  478.                                         //sHTML+="</" + sTagName.toLowerCase() + ">";
  479.                                         sHTML+="</" + sCloseTag.toLowerCase() + ">";//spy bisa <a:b>
  480.                                         }
  481.                                 }
  482.                         }
  483.                 else if(oNode.nodeType==3)//text
  484.                         {
  485.                         sHTML+= fixVal(oNode.nodeValue);
  486.                         }
  487.                 else if(oNode.nodeType==8)
  488.                         {
  489.                         if(oNode.outerHTML.substring(0,2)=="<"+"%")
  490.                                 {//server side script
  491.                                 sTmp=(oNode.outerHTML.substring(2));
  492.                                 sTmp=sTmp.substring(0,sTmp.length-2);
  493.                                 sTmp = sTmp.replace(/^\s+/,"").replace(/\s+$/,"");
  494.  
  495.                                 /*** tabs ***/
  496.                                 var sT= sTab;
  497.                                 /************/
  498.  
  499.                                 sHTML+="\n" +
  500.                                         sT + "<%\n"+
  501.                                         sT + sTmp + "\n" +
  502.                                         sT + "%>\n"+sT;
  503.                                 }
  504.                         else
  505.                                 {//comments
  506.                                 sTmp=oNode.nodeValue;
  507.                                 sTmp = sTmp.replace(/^\s+/,"").replace(/\s+$/,"");
  508.  
  509.                                 sHTML+="\n" +
  510.                                         sT + "<!--\n"+
  511.                                         sT + sTmp + "\n" +
  512.                                         sT + "-->\n"+sT;
  513.                                 }
  514.                         }
  515.                 else
  516.                         {
  517.                         ;//Not Processed
  518.                         }
  519.                 }
  520.         return sHTML;
  521.         }
  522.        
  523. function toggleViewSource(chk, idIframe) {
  524.     if (chk.checked) {
  525.         //view souce
  526.         viewSource(idIframe);
  527.     } else {
  528.         //wysiwyg mode
  529.         applySource(idIframe);
  530.     }
  531. }
  532.  
  533. function viewSource(idIframe) {
  534.     var oEditor=eval(idIframe);
  535.    
  536.     var sHTML=getXHTMLBody(idIframe);
  537.  
  538.     var docBody = oEditor.document.body;
  539.     docBody.innerHTML = "";
  540.     docBody.innerText = sHTML.replace(/\n+/, "");
  541. }
  542.  
  543. function applySource(idIframe) {
  544.     var oEditor=eval(idIframe);
  545.    
  546.     var s = oEditor.document.documentElement.outerHTML;
  547.     var arrTmp = s.split("<BODY")
  548.     var beforeBody = arrTmp[0] + "<BODY" + arrTmp[1].substring(0, arrTmp[1].indexOf(">")+1);
  549.     var afterBody = s.substr(s.indexOf("</BODY>"));
  550.     var body = oEditor.document.body.innerText
  551.     //alert(beforeBody + oEditor.document.body.innerText + afterBody);
  552.    
  553.     var oDoc = oEditor.document.open("text/html", "replace");
  554.     oDoc.write(beforeBody + body + afterBody);
  555.     oDoc.close();
  556.     oEditor.document.body.contentEditable=true
  557.     oEditor.document.execCommand("2D-Position", true, true);
  558.     oEditor.document.execCommand("MultipleSelection", true, true);
  559.     oEditor.document.execCommand("LiveResize", true, true);
  560.     oEditor.document.body.onmouseup=function() { oUtil.oEditor = oEditor } ;
  561. }      
downloadmain_xhtml.js Source code - Download Pcook CMS bubble guest v3.0 SDCMS version Source code
Related Source Codes/Software:
Oo 126 CMS movie site system - This procedure ASP + ACC/ASP + SQL, using new kern... 2016-09-21
IDC sales web site - Beautiful IDC sales web site source code 2016-09-21
NPOINT virtual host v1.7.0 formal version management system - The system main function is introduced 2016-09-21
Classified information network business in suzhou - Overall module: classification of supply and deman... 2016-09-21
Jie Yang v0.6.3 article system - System functions: 1, the system settings A confi... 2016-09-21
Age design website information management system SDCMS v1.1 SP1 - SDCMS is designed to build the information managem... 2016-09-21
Age design website information management system SDCMS v1.1 SP1 - SDCMS is designed to build the information managem... 2016-09-21
C9 v2.1.1 static post system - Program USES ASP + ACC structure design and develo... 2016-09-21
Imitation green download station perfect version - Before increased | software home page, on the basi... 2016-09-21
Subdomain hosting edition v1.9 s taobao, pat - The background site admin 2016-09-21
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top