editor_s.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:14k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8"%>
  2. <%
  3. String editorRootPath = request.getContextPath();
  4. %>
  5. function bbimg(o){
  6. var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%';
  7. return false;
  8. }
  9. function GetCookie (name) {
  10. var CookieFound = false;
  11. var start = 0;
  12. var end = 0;
  13. var CookieString = document.cookie;
  14. var i = 0;
  15. while (i <= CookieString.length) {
  16. start = i ;
  17. end = start + name.length;
  18. if (CookieString.substring(start, end) == name){
  19. CookieFound = true;
  20. break; 
  21. }
  22. i++;
  23. }
  24. if (CookieFound){
  25. start = end + 1;
  26. end = CookieString.indexOf(";",start);
  27. if (end < start)
  28. end = CookieString.length;
  29. return unescape(CookieString.substring(start, end));
  30. }
  31. return "";
  32. }
  33. function openScript(url, width, height){
  34. var Win = window.open(url,"openScript",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=yes' );
  35. }
  36. //if (cws_bLoad==false)
  37. //{
  38. //cws_InitDocument("Body","GB2312");
  39. //}
  40. var cws_bIsIE5=document.all;
  41. var canusehtml='1';
  42. var PostType=1;
  43. if (cws_bIsIE5){
  44. var IframeID=frames["cws_Composition"];
  45. }
  46. else{
  47. var IframeID=document.getElementById("cws_Composition").contentWindow;
  48. var cws_bIsNC=true;
  49. }
  50. if (cws_bLoad==false)
  51. {
  52. cws_InitDocument("Body","GB2312");
  53. }
  54. function submits(){
  55. document.all("edit").value=IframeID.document.body.innerHTML;
  56. }
  57. function getHtml() {
  58. return IframeID.document.body.innerHTML;
  59. }
  60. function setHtml(obj) {
  61. IframeID.document.body.innerHTML = obj.value;
  62. }
  63. function initx(){
  64. var c_uname=GetCookie('username')
  65. if (c_uname.indexOf('&')>=0){
  66. c_uname=c_uname.substring(0,c_uname.indexOf('&'))
  67. }
  68. var c_pass=GetCookie('password')
  69. if (c_pass.indexOf('&')>=0){
  70. c_pass=c_pass.substring(0,c_pass.indexOf('&'))
  71. }
  72. var c_hpage=GetCookie('userurl')
  73. if (c_hpage.indexOf('&')>=0){
  74. c_hpage=c_hpage.substring(0,c_hpage.indexOf('&'))
  75. }
  76. }
  77. initx();
  78. function del_space(s)
  79. {
  80. for(i=0;i<s.length;++i)
  81. {
  82.  if(s.charAt(i)!=" ")
  83. break;
  84. }
  85. for(j=s.length-1;j>=0;--j)
  86. {
  87.  if(s.charAt(j)!=" ")
  88. break;
  89. }
  90. return s.substring(i,++j);
  91. }
  92. function Verifycomment()
  93. {
  94. submits(); 
  95. return true;
  96. }
  97. function reply_quote(id)
  98. {
  99. IframeID.focus();
  100. cws_InsertSymbol("<div class='quote'><strong>以下引用"+document.all["n_"+id].innerHTML+"在"+document.all["t_"+id].innerHTML+"发表的评论:</strong><br /><br />"+document.all["c_"+id].innerHTML+"</div><br />")
  101. IframeID.focus();
  102. }
  103. function DecodeCookie(str)
  104. {
  105.     var strArr;
  106.     var strRtn="";
  107.     strArr=str.split("a");
  108.     try{
  109.         for (var i=strArr.length-1;i>=0;i--)
  110.         strRtn+=String.fromCharCode(eval(strArr[i]));
  111.     }catch(e){
  112.     }
  113.     return strRtn; 
  114. }
  115. if (cws_bIsNC){
  116. document.write('<iframe width="260" height="165" id="colourPalette" src="<%=editorRootPath%>/editor/nc_selcolor.htm" style="visibility:hidden; position: absolute; left: 0px; top: 0px;" frameborder="0" scrolling="no" ></iframe>');
  117. }
  118. if (PostType == 0)
  119. {
  120. cws_setMode(3);
  121. document.getElementById("cws_TabDesign").style.display='none';
  122. document.getElementById("cws_TabDesign").style.display='none';
  123. //onpaste
  124. //document.selection.createRange().text
  125. //(window.clipboardData.getData("Text")
  126. }
  127. // 数据传递
  128. function cws_CopyData(hiddenid)
  129. {
  130. //document.Dvform.Submit.disabled=true;
  131. //document.Dvform.Submit2.disabled=true;
  132. if (PostType == 0 && cws_bTextMode == 3)
  133. {
  134. cws_PasteData()
  135. }
  136. d = IframeID.document;
  137. if (cws_bTextMode == 2)
  138. {
  139. cont = d.body.innerText;
  140. }else{
  141. cont = d.body.innerHTML;  
  142. }
  143. var ChekEmptyCode = cws_ChekEmptyCode(cont);
  144. if (ChekEmptyCode == '' || ChekEmptyCode == null)
  145. {
  146. cont='';
  147. }
  148. else{
  149. cont = cws_correctUrl(cont);
  150. if (cws_filterScript)
  151. cont=cws_FilterScript(cont);
  152. }
  153. document.getElementById(hiddenid).value = cont;
  154. }
  155. function cws_PasteData()
  156. {
  157. var regExp;
  158. cont = IframeID.document.body.innerHTML;
  159. regExp = /<[s|t][a-z]([^>]*)>/ig
  160. cont = cont.replace(regExp, '');
  161. regExp = /</[s|t][a-z]([^>]*)>/ig
  162. cont = cont.replace(regExp, '');
  163. IframeID.document.body.innerHTML = cont
  164. }
  165. //-------------------------------------
  166. function ctlent(eventobject)
  167. {
  168. if(event.ctrlKey && event.keyCode==13)
  169. {
  170. this.document.Dvform.submit();
  171. }
  172. }
  173. function putEmot(thenNo)
  174. {
  175. var ToAdd = '['+thenNo+']';
  176. IframeID.document.body.innerHTML+=ToAdd;
  177. IframeID.focus();
  178. }
  179. function gopreview()
  180. {
  181. document.preview.Dvtitle.value=document.Dvform.topic.value;
  182. document.preview.theBody.value=IframeID.document.body.innerHTML;
  183. var popupWin = window.open('', 'preview_page', 'scrollbars=yes,width=750,height=450');
  184. document.preview.submit()
  185. }
  186. //--------------------------------------------------------------------------------
  187. function cws_foreColor()
  188. {
  189. if (!cws_validateMode()) return;
  190. if (cws_bIsIE5){
  191. var arr = showModalDialog("<%=editorRootPath%>/editor/selcolor.jsp", "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0; help:0");
  192. if (arr != null) FormatText('forecolor', arr);
  193. else IframeID.focus();
  194. }else
  195. {
  196. FormatText('forecolor', '');
  197. //var arr = openEditScript('images/nc_selcolor.htm',250,100)}
  198. }
  199. }
  200. function cws_backColor()
  201. {
  202. if (!cws_validateMode()) return;
  203. if (cws_bIsIE5)
  204. {
  205. var arr = showModalDialog("<%=editorRootPath%>/editor/selcolor.jsp", "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0; help:0");
  206. if (arr != null) FormatText('backcolor', arr);
  207. else IframeID.focus();
  208. }else
  209. {
  210. FormatText('backcolor', '');
  211. }
  212. }
  213. function cws_correctUrl(cont)
  214. {
  215. var regExp;
  216. var url=location.href.substring(0,location.href.lastIndexOf("/")+1);
  217. cont=cws_rCode(cont,location.href+"#","#");
  218. cont=cws_rCode(cont,url,"");
  219. cont=cws_rCode(cont,"<a> </a>","");
  220. //regExp = /<a.*href="(.*)"[^>]*>/gi;
  221. //将连接加上blank标记
  222. //regExp = /<(a[^>]*) href=([^ |>]*)([^>]*)/gi
  223. //cont = cont.replace(regExp, "<$1 href=$2 target="_blank" ") ;
  224. //regExp = /<([^>]*)/gi //转换为小写htm
  225. //cont = cont.replace(regExp, function($1){return $1.toLowerCase()})
  226. return cont;
  227. }
  228. function cws_cleanHtml()
  229. {
  230. if (cws_bIsIE5){
  231. var fonts = IframeID.document.body.all.tags("FONT");
  232. }else{
  233. var fonts = IframeID.document.getElementsByTagName("FONT");
  234. }
  235. var curr;
  236. for (var i = fonts.length - 1; i >= 0; i--) {
  237. curr = fonts[i];
  238. if (curr.style.backgroundColor == "#ffffff") curr.outerHTML = curr.innerHTML;
  239. }
  240. }
  241. function cws_getPureHtml()
  242. {
  243. var str = "";
  244. //var paras = IframeID.document.body.all.tags("P");
  245. //var paras = IframeID.document.getElementsByTagName("p");
  246. //if (paras.length > 0){
  247.   //for (var i=paras.length-1; i >= 0; i--) str= paras[i].innerHTML + "n" + str;
  248. //} else {
  249. str = IframeID.document.body.innerHTML;
  250. //}
  251. str=cws_correctUrl(str);
  252. return str;
  253. }
  254. function FormatUrl(html)
  255. {
  256. var regExp = /<a.*href="(.*)"[^>]*>/gi;
  257. html = html.replace(regExp,"<a href=$1 target="_blank" >")
  258.   return html;
  259. }
  260. function cws_getEl(sTag,start)
  261. {
  262. while ((start!=null) && (start.tagName!=sTag)) start = start.parentElement;
  263. return start;
  264. }
  265. //选择内容替换文本
  266. function cws_InsertSymbol(str1)
  267. {
  268. IframeID.focus();
  269. if (cws_bIsIE5) cws_selectRange();
  270. cws_edit.pasteHTML(str1);
  271. }
  272. //选择事件
  273. function cws_selectRange(){
  274. cws_selection = IframeID.document.selection;
  275. cws_edit = cws_selection.createRange();
  276. cws_RangeType = cws_selection.type;
  277. }
  278. //应用html
  279. function cws_specialtype(Mark1, Mark2){
  280. var strHTML;
  281. if (cws_bIsIE5){
  282. cws_selectRange();
  283. if (cws_RangeType == "Text"){
  284. if (Mark2==null)
  285. {
  286. strHTML = "<" + Mark1 + ">" + cws_edit.htmlText + "</" + Mark1 + ">"; 
  287. }else{
  288. strHTML = Mark1 + cws_edit.htmlText +  Mark2; 
  289. }
  290. cws_edit.pasteHTML(strHTML);
  291. IframeID.focus();
  292. cws_edit.select();
  293. }
  294. else{window.alert("请选择相应内容!")}
  295. }
  296. else{
  297. if (Mark2==null)
  298. {
  299. strHTML = "<" + Mark1 + ">" + IframeID.document.body.innerHTML + "</" + Mark1 + ">"; 
  300. }else{
  301. strHTML = Mark1 + IframeID.document.body.innerHTML +  Mark2; 
  302. }
  303. IframeID.document.body.innerHTML=strHTML
  304. IframeID.focus();
  305. }
  306. }
  307. // 修改编辑栏高度
  308. function cws_Size(num)
  309. {
  310. var obj=document.getElementById("cws_edit");
  311. //if (parseInt(obj.style.height)+num>=300) {
  312. //alert(obj.style.height)
  313. //obj.style.height = (parseInt(obj.style.height) + num);
  314. if (num>0){
  315. obj.style.height=num+"px";
  316. obj.style.width="100%";
  317. }
  318. else{
  319. obj.style.height="";
  320. //alert(-num+"px");
  321. obj.style.width=-num+"px";
  322. }
  323. }
  324. function cws_getText()
  325. {
  326. if (cws_bTextMode==2)
  327. return IframeID.document.body.innerText;
  328. else
  329. {
  330. cws_cleanHtml();
  331. return IframeID.document.body.innerHTML;
  332. }
  333. }
  334. function cws_putText(v)
  335. {
  336. if (cws_bTextMode==2)
  337. IframeID.document.body.innerText = v;
  338. else
  339. IframeID.document.body.innerHTML = v;
  340. }
  341. function cws_doSelectClick(str, el)
  342. {
  343. var Index = el.selectedIndex;
  344. if (Index != 0){
  345. el.selectedIndex = 0;
  346. FormatText(str,el.options[Index].value);
  347. }
  348. }
  349. //查找配对字符出现次数,没有结果为0
  350. function TabCheck(word,str){
  351. var tp=0
  352. chktp=str.search(word);
  353. if (chktp!=-1)
  354. {
  355. eval("var tp=""+str+"".match("+word+").length")
  356. }
  357. return tp;
  358. }
  359. //Colour pallete top offset
  360. function getOffsetTop(elm) {
  361. var mOffsetTop = elm.offsetTop;
  362. var mOffsetParent = elm.offsetParent;
  363. while(mOffsetParent){
  364. mOffsetTop += mOffsetParent.offsetTop;
  365. mOffsetParent = mOffsetParent.offsetParent;
  366. }
  367. return mOffsetTop;
  368. }
  369. //Colour pallete left offset
  370. function getOffsetLeft(elm) {
  371. var mOffsetLeft = elm.offsetLeft;
  372. var mOffsetParent = elm.offsetParent;
  373. while(mOffsetParent) {
  374. mOffsetLeft += mOffsetParent.offsetLeft;
  375. mOffsetParent = mOffsetParent.offsetParent;
  376. }
  377. return mOffsetLeft;
  378. }
  379. //Function to hide colour pallete
  380. function hideColourPallete() {
  381. document.getElementById("colourPalette").style.visibility="hidden";
  382. }
  383. //------------------------------------------------------
  384. function OpenSmiley()
  385. {
  386. var arr = showModalDialog("<%=editorRootPath%>/editor/smiley.htm", "", "dialogWidth:60em; dialogHeight:15.5em; status:0; help:0");
  387. if (arr != null){
  388. var ss;
  389. ss=arr.split("*")
  390. path=ss[0];
  391. ubbstring=ss[1];
  392. IframeID.document.body.innerHTML+=ubbstring;
  393. }
  394. else IframeID.focus();
  395. }
  396. function rand() {
  397. return parseInt((1000)*Math.random()+1);
  398. }
  399. //图片与链接事件
  400. function cws_UserDialog(what)
  401. {
  402. if (!cws_validateMode()) return;
  403. IframeID.focus();
  404. if (what == "CreateLink") {
  405. if (cws_bIsNC)
  406. {
  407. insertLink = prompt("请填写超级链接地址信息:", "http://");
  408. if ((insertLink != null) && (insertLink != "") && (insertLink != "undefined")) {
  409. IframeID.document.execCommand('CreateLink', false, insertLink);
  410. }else{
  411. IframeID.document.execCommand('unlink', false, null);
  412. }
  413. }
  414. else {
  415. IframeID.document.execCommand(what, true, null);
  416. }
  417. }
  418. //去掉添加图片时的src="file://
  419. if(what == "InsertImage"){
  420. imagePath = prompt('请填写图片链接地址信息:', 'http://');
  421. if ((imagePath != null) && (imagePath != "")) {
  422. IframeID.document.execCommand('InsertImage', false, imagePath);
  423. }
  424. IframeID.document.body.innerHTML = (IframeID.document.body.innerHTML).replace("src="file://","src="");
  425. }
  426. cws_pureText = false;
  427. IframeID.focus();
  428. }
  429. //--------------------
  430. function cws_GetRangeReference(editor)
  431. {
  432. editor.focus();
  433. var objReference = null;
  434. var RangeType = editor.document.selection.type;
  435. var selectedRange = editor.document.selection.createRange();
  436. switch(RangeType)
  437. {
  438. case 'Control' :
  439. if (selectedRange.length > 0 ) 
  440. {
  441. objReference = selectedRange.item(0);
  442. }
  443. break;
  444. case 'None' :
  445. objReference = selectedRange.parentElement();
  446. break;
  447. case 'Text' :
  448. objReference = selectedRange.parentElement();
  449. break;
  450. }
  451. return objReference
  452. }
  453. function cws_CheckTag(item,tagName)
  454. {
  455. if (item.tagName.search(tagName)!= -1)
  456. {
  457. return item;
  458. }
  459. if (item.tagName == 'BODY')
  460. {
  461. return false;
  462. }
  463. item=item.parentElement;
  464. return cws_CheckTag(item,tagName);
  465. }
  466. function cws_code()
  467. {
  468. cws_specialtype("<div class=HtmlCode style='cursor: pointer'; title='点击运行该代码!' onclick="preWin=window.open('','','');preWin.document.open();preWin.document.write(this.innerText);preWin.document.close();">","</div>");
  469. //cws_specialtype("<div class=HtmlCode>","</div>");
  470. }
  471. function cws_quote()
  472. {
  473. cws_specialtype("<div style='margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3'>","</div>");
  474. }
  475. function cws_replace()
  476. {
  477. var arr = showModalDialog("<%=editorRootPath%>/editor/replace.html", "", "dialogWidth:16.5em; dialogHeight:13em; status:0; help:0");
  478. if (arr != null){
  479. var ss;
  480. ss = arr.split("*")
  481. a = ss[0];
  482. b = ss[1];
  483. i = ss[2];
  484. con = IframeID.document.body.innerHTML;
  485. if (i == 1)
  486. {
  487. con = cws_rCode(con,a,b,true);
  488. }else{
  489. con = cws_rCode(con,a,b);
  490. }
  491. IframeID.document.body.innerHTML = con;
  492. }
  493. else IframeID.focus();
  494. }
  495. function insertSpecialChar()
  496. {
  497. var arr = showModalDialog("<%=editorRootPath%>/editor/specialchar.jsp", "","dialogWidth:25em; dialogHeight:15em; status:0; help:0");
  498. if (arr != null) cws_InsertSymbol(arr);
  499. IframeID.focus() ;
  500. }
  501. function doZoom( sizeCombo ) 
  502. {
  503. if (sizeCombo.value != null || sizeCombo.value != "")
  504. if (cws_bIsIE5){
  505. var z = IframeID.document.body.runtimeStyle;}
  506. else{
  507. var z = IframeID.document.body.style;
  508. }
  509. z.zoom = sizeCombo.value + "%" ;
  510. }
  511. //--------------------
  512. function cws_InsertSymbol(str1)
  513. {
  514. cws_Composition.focus();
  515. if (cws_bIsIE5) cws_selectRange();
  516. cws_edit.pasteHTML(str1);
  517. }
  518. function cws_foremot()
  519. {
  520. var arr = showModalDialog("<%=editorRootPath%>/editor/emot.jsp", "", "dialogWidth:26em; dialogHeight:13em; status:0; help:0");
  521. if (arr != null)
  522. {
  523. //content=cws_Composition.document.body.innerHTML;
  524. //content=content+arr;
  525. //cws_Composition.document.body.innerHTML=content;
  526. cws_InsertSymbol(arr);
  527. IframeID.focus();
  528. }
  529. else IframeID.focus();
  530. }
  531. function cws_forlink()
  532. {
  533. if (cws_bIsIE5){
  534. var arr=showModalDialog("<%=editorRootPath%>/editor/link.jsp",window, "dialogWidth:23em; dialogHeight:12em; status:0; help:0");
  535. IframeID.focus();
  536. if (arr != null)
  537. {
  538. cws_InsertSymbol(arr);
  539. IframeID.focus();
  540. }
  541. else IframeID.focus();
  542. }
  543. else {cws_UserDialog('CreateLink');}
  544. }
  545. function getHTML() {
  546. var html;
  547. if (!cws_bTextMode) 
  548. {
  549. html = IframeID.document.body.innerHTML
  550. }
  551. else
  552. {
  553. html = IframeID.document.body.innerText
  554. }
  555. return html;
  556. }