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

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8" %>
  2. <%@ taglib uri="/WEB-INF/tlds/LabelTag.tld" prefix="lt" %>
  3. <HTML>
  4. <HEAD>
  5. <META content="text/html; charset=utf-8" http-equiv=Content-Type>
  6. <Link rel="stylesheet" type="text/css" href="edit.css">
  7. </style>
  8. <Script Language=JavaScript>
  9. var URLParams = new Object() ;
  10. var aParams = document.location.search.substr(1).split('&') ;
  11. for (i=0 ; i < aParams.length ; i++) {
  12. var aParam = aParams[i].split('=') ;
  13. URLParams[aParam[0]] = aParam[1] ;
  14. }
  15. var sAction = URLParams['action'];
  16. var sTitle = "<lt:Label res="res.label.editor.link" key="insert"/>";
  17. var objWindow;
  18. var oRange;
  19. var sType;
  20. var oSel;
  21. var sUrl = "http://";
  22. var sProtocol = "http://";
  23. var sTarget = "";
  24. switch (sAction){
  25. case "other":
  26. sUrl = dialogArguments.objLink.Href;
  27. sTarget = dialogArguments.objLink.Target;
  28. sProtocol = getProtocol(sUrl);
  29. objWindow = dialogArguments.opener;
  30. break;
  31. default:
  32. oRange = dialogArguments.IframeID.document.selection.createRange();
  33. sType = dialogArguments.IframeID.document.selection.type;
  34. if (sType == "Control") {
  35. oSel = oRange(0).parentNode;
  36. }else{
  37. oSel = oRange.parentElement();
  38. }
  39. if (oSel.tagName.toUpperCase() == "A"){
  40. sTarget = oSel.target;
  41. sUrl = oSel.getAttribute("href",2);
  42. sProtocol = getProtocol(sUrl);
  43. }
  44. objWindow = dialogArguments;
  45. break;
  46. }
  47. // 从地址取协议
  48. function getProtocol(url){
  49. var re=/(.+:/*)(.*)/gi;
  50. return url.replace(re,"$1");
  51. }
  52. // 改变协议
  53. function changeProtocol(index){
  54. sProtocol=d_protocol.options[index].value;
  55. sUrl = d_url.value;
  56. var re = /(.+:/*)/gi;
  57. sUrl = sUrl.replace(re, "");
  58. d_url.value = sProtocol + sUrl;
  59. }
  60. // 初始值
  61. function InitDocument(){
  62. SearchSelectValue(d_protocol, sProtocol.toLowerCase());
  63. SearchSelectValue(d_target, sTarget.toLowerCase());
  64. getAnchors();
  65. d_url.value = sUrl;
  66. }
  67. // 取所有的锚
  68. function getAnchors() {
  69. d_anchor.options.length = 1;
  70. var allLinks = objWindow.IframeID.document.body.getElementsByTagName("A");
  71. for (i=0; i < allLinks.length; i++) {
  72. if (allLinks[i].href.toUpperCase() == "") {
  73. d_anchor.options[d_anchor.options.length] = new Option(allLinks[i].name,"#"+allLinks[i].name);
  74. }
  75. }
  76. }
  77. // 搜索下拉框值与指定值匹配,并选择匹配项
  78. function SearchSelectValue(o_Select, s_Value){
  79. for (var i=0;i<o_Select.length;i++){
  80. if (o_Select.options[i].value == s_Value){
  81. o_Select.selectedIndex = i;
  82. return true;
  83. }
  84. }
  85. return false;
  86. }
  87. </Script>
  88. <title><lt:Label res="res.label.editor.link" key="link_prop"/></title>
  89. <SCRIPT event=onclick for=Ok language=JavaScript>
  90. sUrl = d_url.value;
  91. sProtocol = d_protocol.options[d_protocol.selectedIndex].value;
  92. sTarget = d_target.options[d_target.selectedIndex].value;
  93. if (sUrl != ""){
  94. switch (sAction){
  95. case "other":
  96. var arr = new Array();
  97. arr[0] = sUrl;
  98. arr[1] = sTarget;
  99. window.returnValue = arr;
  100. break;
  101. default:
  102. oRange.execCommand("CreateLink",false,sUrl);
  103. oRange = dialogArguments.IframeID.document.selection.createRange();
  104. sType = dialogArguments.IframeID.document.selection.type;
  105. if (sType == "Control") {
  106. oSel = oRange(0).parentNode;
  107. }else{
  108. oSel = oRange.parentElement();
  109. }
  110. if (sTarget != ""){
  111. oSel.target = sTarget;
  112. }else{
  113. oSel.removeAttribute("target");
  114. }
  115. window.returnValue = null;
  116. break;
  117. }
  118. } else {
  119. alert("<lt:Label res="res.label.editor.link" key="url_none"/>");
  120. d_url.focus();
  121. return;
  122. }
  123. window.close();
  124. </SCRIPT>
  125. </HEAD>
  126. <body bgcolor=menu onLoad="InitDocument()">
  127. <br>
  128. <table border=0 cellpadding=0 cellspacing=0 align=center>
  129. <tr>
  130. <td>
  131. <fieldset>
  132. <legend><lt:Label res="res.label.editor.link" key="link_info"/></legend>
  133. <table border=0 cellpadding=0 cellspacing=0>
  134. <tr><td colspan=9 height=5></td></tr>
  135. <tr>
  136. <td width=7></td>
  137. <td noWrap><lt:Label res="res.label.editor.link" key="link_type"/></td>
  138. <td width=5></td>
  139. <td><select id=d_protocol style="width:72px" onChange="changeProtocol(this.selectedIndex)">
  140. <option value=''>其它</option>
  141. <option value='file://'>file:</option>
  142. <option value='ftp://'>ftp:</option>
  143. <option value='gopher://'>gopher:</option>
  144. <option value='http://'>http:</option>
  145. <option value='https://'>https:</option>
  146. <option value='mailto:'>mailto:</option>
  147. <option value='news:'>news:</option>
  148. <option value='telnet:'>telnet:</option>
  149. <option value='wais:'>wais:</option>
  150. </select></td>
  151. <td width=40></td>
  152. <td noWrap><lt:Label res="res.label.editor.link" key="target"/></td>
  153. <td width=5></td>
  154. <td><select id=d_target style="width:72px"><option value=''><lt:Label res="res.label.editor.link" key="default"/></option><option value='_self'><lt:Label res="res.label.editor.link" key="self"/></option><option value='_top'><lt:Label res="res.label.editor.link" key="top"/></option><option value='_blank'><lt:Label res="res.label.editor.link" key="blank"/></option><option value='_parent'><lt:Label res="res.label.editor.link" key="parent"/></option></select></td>
  155. <td width=7></td>
  156. </tr>
  157. <tr><td colspan=9 height=5></td></tr>
  158. <tr>
  159. <td width=7></td>
  160. <td><lt:Label res="res.label.editor.link" key="url"/></td>
  161. <td width=5></td>
  162. <td colspan=5><input type=text id=d_url size=38 value="" style="width:243px"></td>
  163. <td width=7></td>
  164. </tr>
  165. <tr><td colspan=9 height=5></td></tr>
  166. <tr>
  167. <td width=7></td>
  168. <td><lt:Label res="res.label.editor.link" key="anchor"/></td>
  169. <td width=5></td>
  170. <td colspan=5><select id=d_anchor onChange="d_url.value=this.options[this.selectedIndex].value"><option value=''><lt:Label res="res.label.editor.link" key="default"/></option></select></td>
  171. <td width=7></td>
  172. </tr>
  173. <tr><td colspan=9 height=5></td></tr>
  174. </table>
  175. </fieldset>
  176. </td>
  177. </tr>
  178. <tr><td height=5></td></tr>
  179. <tr><td align=right><input type=submit value='<lt:Label res="res.common" key="ok"/>' id=Ok>
  180.       &nbsp;&nbsp;
  181.       <input type=button value='<lt:Label res="res.common" key="cancel"/>' onClick="window.close();"></td></tr>
  182. </table>
  183. </BODY>
  184. </HTML>