| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- /**
 
-  * 锚点插件,为UEditor提供插入锚点支持
 
-  * @file
 
-  * @since 1.2.6.1
 
-  */
 
- UE.plugin.register('anchor', function (){
 
-     return {
 
-         bindEvents:{
 
-             'ready':function(){
 
-                 utils.cssRule('anchor',
 
-                     '.anchorclass{background: url(\''
 
-                         + this.options.themePath
 
-                         + this.options.theme +'/images/anchor.gif\') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}',
 
-                     this.document);
 
-             }
 
-         },
 
-        outputRule: function(root){
 
-            utils.each(root.getNodesByTagName('img'),function(a){
 
-                var val;
 
-                if(val = a.getAttr('anchorname')){
 
-                    a.tagName = 'a';
 
-                    a.setAttr({
 
-                        anchorname : '',
 
-                        name : val,
 
-                        'class' : ''
 
-                    })
 
-                }
 
-            })
 
-        },
 
-        inputRule:function(root){
 
-            utils.each(root.getNodesByTagName('a'),function(a){
 
-                var val;
 
-                if((val = a.getAttr('name')) && !a.getAttr('href')){
 
-                    //过滤掉word冗余标签
 
-                    //_Toc\d+有可能勿命中
 
-                    if(/^\_Toc\d+$/.test(val)){
 
-                        a.parentNode.removeChild(a);
 
-                        return;
 
-                    }
 
-                    a.tagName = 'img';
 
-                    a.setAttr({
 
-                        anchorname :a.getAttr('name'),
 
-                        'class' : 'anchorclass'
 
-                    });
 
-                    a.setAttr('name')
 
-                }
 
-            })
 
-        },
 
-        commands:{
 
-            /**
 
-             * 插入锚点
 
-             * @command anchor
 
-             * @method execCommand
 
-             * @param { String } cmd 命令字符串
 
-             * @param { String } name 锚点名称字符串
 
-             * @example
 
-             * ```javascript
 
-             * //editor 是编辑器实例
 
-             * editor.execCommand('anchor', 'anchor1');
 
-             * ```
 
-             */
 
-            'anchor':{
 
-                execCommand:function (cmd, name) {
 
-                    var range = this.selection.getRange(),img = range.getClosedNode();
 
-                    if (img && img.getAttribute('anchorname')) {
 
-                        if (name) {
 
-                            img.setAttribute('anchorname', name);
 
-                        } else {
 
-                            range.setStartBefore(img).setCursor();
 
-                            domUtils.remove(img);
 
-                        }
 
-                    } else {
 
-                        if (name) {
 
-                            //只在选区的开始插入
 
-                            var anchor = this.document.createElement('img');
 
-                            range.collapse(true);
 
-                            domUtils.setAttributes(anchor,{
 
-                                'anchorname':name,
 
-                                'class':'anchorclass'
 
-                            });
 
-                            range.insertNode(anchor).setStartAfter(anchor).setCursor(false,true);
 
-                        }
 
-                    }
 
-                }
 
-            }
 
-        }
 
-     }
 
- });
 
 
  |