anchor.js
上传用户:dlqqsh
上传日期:2021-11-13
资源大小:7840k
文件大小:2k
源码类别:

OA系统

开发平台:

Java

  1. var action, element;
  2. function init() {
  3. tinyMCEPopup.resizeToInnerSize();
  4. var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
  5. var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
  6. var img = inst.getFocusElement();
  7. action = 'insert';
  8. if (anchor != null) {
  9. element = anchor;
  10. action = "update";
  11. }
  12. if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
  13. element = img;
  14. action = "update";
  15. }
  16. if (action == "update")
  17. document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
  18. document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
  19. }
  20. function insertAnchor() {
  21. var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
  22. var name = document.forms[0].anchorName.value, e;
  23. tinyMCEPopup.execCommand("mceBeginUndoLevel");
  24. if (action == "update") {
  25. if (element.nodeName == "IMG")
  26. element.setAttribute("title", name);
  27. else
  28. element.setAttribute("name", name);
  29. } else {
  30. var rng = inst.getRng();
  31. if (rng.collapse)
  32. rng.collapse(false);
  33. name = name.replace(/&/g, '&');
  34. name = name.replace(/"/g, '"');
  35. name = name.replace(/</g, '&lt;');
  36. name = name.replace(/>/g, '&gt;');
  37. // Fix for bug #1447335
  38. if (tinyMCE.isGecko)
  39. html = '<a id="mceNewAnchor" name="' + name + '"></a>';
  40. else
  41. html = '<a name="' + name + '"></a>';
  42. tinyMCEPopup.execCommand("mceInsertContent", false, html);
  43. // Fix for bug #1447335 force cursor after the anchor element
  44. if (tinyMCE.isGecko) {
  45. e = inst.getDoc().getElementById('mceNewAnchor');
  46. if (e) {
  47. inst.selection.selectNode(e, true, false, false);
  48. e.removeAttribute('id');
  49. }
  50. }
  51. tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
  52. }
  53. tinyMCEPopup.execCommand("mceEndUndoLevel");
  54. tinyMCE.triggerNodeChange();
  55. tinyMCEPopup.close();
  56. }