亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? coreeditor.js

?? asp的bbs程序
?? JS
?? 第 1 頁 / 共 3 頁
字號:
            if (this.EditType == Config.UBB) {
                content = this.GetXHtmlFromUBB(true);
            }
            else {
                if (!this.JudgeNotAllowHtmlTag(this.Document.body.innerHTML)) return false;
                content = UBB.imageHTMLUrlToSign(UBB.multimediaHtmlToUbb(this.GetXhtmlFromHtml(false)));
            }
            this.TextRange = null;
            this.CreateTextArea(content, type);
            this.SelectOneTextArea();
        }
        // to UBB
        else if (type == Config.UBB && this.EditType != Config.UBB) {
            if (!this.AllowUBB) return false;
            if (this.EditType == Config.XHTML) {
                content = this.GetUBBFromXHtml(true);
            }
            else {
                if (!this.JudgeNotAllowHtmlTag(this.Document.body.innerHTML)) return false;
                content = UBB.imageUBBUrlToSign(this.GetUBBFromXHtml(false));
            }
            this.TextRange = null;
            this.CreateTextArea(content, type);
            this.TextAreaBindEvent();
        }

        // 設(shè)置當(dāng)前狀態(tài)
        this.EditType = type;
        Toolbar.responseAll(type == Config.XHTML);
        
        // 文本域更新調(diào)用
        this.EditorObj.AfterChange({DMode:type,AllowHTML:this.AllowHTML,AllowUBB:this.AllowUBB});

        // 設(shè)置文本選擇域?yàn)榭?        //this.TextRange = null;

        this.Resize();
        return true;
    },
    ChangeStateAndButton : function (type) {
        type = type.toLowerCase();
        this.ChangeState(type);
        switch (type) {
            case Config.WYSIWYG:
                Toolbar.wysiwygClick();
                break;
            case Config.XHTML:
                this.AllowHTML && Toolbar.xhtmlClick();
                break;
            case Config.UBB:
                this.AllowUBB && Toolbar.ubbClick();
                break;
        }
    },

    JudgeNotAllowHtmlTag : function (content) {
        if (Config.NotAllowHtmlTag().test(content)) {
            return confirm('內(nèi)容包含不允許的標(biāo)簽。\n是否繼續(xù)轉(zhuǎn)換?');
        }
        return true;
    },

    /*
       content edit
    */
    // 獲取文本選取對象
    // 選取范圍
    GetRange : function () {
        // 設(shè)置選擇區(qū)對象
        if (Browser.IsIE) {
            this.SelectRange = this.Document.selection;
            this.TextRange = this.SelectRange.createRange();
        }
        else {
            this.SelectRange = this.Window.getSelection();
        }
        return this.SelectRange;
    },

    // 文本選擇區(qū)對象
    GetTextRange : function () {
        if (Browser.IsIE) {
            this.TextRange = document.selection.createRange();
        }
        else {
            this.TextRangeStart = this.TextArea.selectionStart;
            this.TextRangeEnd = this.TextArea.selectionEnd;
        }
        return this.TextRange;
    },

    // [ie] 選擇內(nèi)容
    SelectTextRange : function (isCollapse) {
        if (!Browser.IsIE) return;
        if (this.EditType != Config.WYSIWYG) return;
        try {
            if (this.TextRange) {
                this.TextRange.collapse(false);
                isCollapse && this.TextRange.select();
            }
            else {
                this.Focus();
            }
        }
        catch (e) {}
    },

    // 對編輯器內(nèi)容應(yīng)用樣式
    SetStyle : function (type, value) {
        var _status;
        if (! Browser.IsIELike && type == 'HiliteColor') {
            this.SetStyle('styleWithCSS', true);
        }
        try {
            this.Focus();
            _status = this.Document.execCommand(type, false, value);
        }
        catch (e) {}
        if (! Browser.IsIELike && type == 'HiliteColor') {
            this.SetStyle('styleWithCSS', false);
        }

        this.SelectTextRange();
        return _status;
    },

    // ubb方式替換內(nèi)容
    // contents : [content, content1, content2, ..., contentN]
    //   eg:
    //       [b]   => ['[b]\x01[/b]', 'content1']
    //       [url] => ['[url=\x01]\x02[/url]', 'content1', 'content2']
    // 'content1'是文本域選擇的文本,所以無需通過參數(shù)傳入,所以參數(shù)參數(shù)傳遞應(yīng)為:
    //   eg:
    //       [b]   => ['[b]\x01[/b]']
    //       [url] => ['[url=\x01]\x02[/url]', 'content2']
    // 'content1'在SetUbbStyle方法內(nèi)獲得
    SetUBBStyle : function () {
        var contents = arguments;
        var l = contents.length;
        var t = this.TextArea;

        var content;
        var _content = content = Browser.IsIE ? (this.TextRange ? this.TextRange.text : '')
                                   : t.value.substring(this.TextRangeStart, this.TextRangeEnd)
        var index = contents[0].indexOf('\x01');
        content = contents[0].replace(/\x01/g, content || contents[1] || '');
        for (var i = 1; i < l; i++) {
            content = content.replace(new RegExp('\\x0' + (i + 1), 'g'), contents[i]);
        }
        if (_content != '') index = 0;

        if (Browser.IsIE) {
            if (this.TextRange) {
                this.TextRange.text = content;
                if (index > 0) this.TextRange.move('character', index - content.length);
                this.TextRange.select();
            }
            else {
                t.value += content;
            }
        }
        else {
            t.value = t.value.substring(0, this.TextRangeStart) + content + t.value.substring(this.TextRangeEnd);

            var start = index > 0 ? this.TextRangeStart + index : this.TextRangeStart + content.length;
            t.setSelectionRange(start, start);
            this.TextRangeStart = this.TextRangeEnd = index > 0 ? this.TextRangeStart + index : start;
        }

        t.focus();
        this.GetTextRange();
    },

    // 插入內(nèi)容
    InsertContent : function (content) {
        if (this.EditType != Config.WYSIWYG) return;
        if (Browser.IsIE)
            this.InsertContentIE(content);
        else {
            var c = this.Document.createElement('span');
            this.Document.body.appendChild(c);
            c.innerHTML = content;
            try {
                this.InsertContentGecko(c);
            }
            catch (e) {
                this.Document.body.appendChild(c);
                this.SelectOneEidtor();
            }
            while (c && c.firstChild) {
                var node = c.removeChild(c.firstChild);
                c.parentNode.insertBefore(node, c);
            }
            c.parentNode.removeChild(c);
        }
        
        // 提示一次,是否啟用要切換至全屏
        if (this.FullScreenPrompt) {
            this.FullScreenPrompt = false;
            var sw = Global.GetClientWidth(this.Document);
            var nodes = this.Document.getElementsByTagName('*');
            for (var i = 0, len = nodes.length; i < len; i++) {
                if (nodes[i].offsetWidth > sw) {
                    // 提示
                    this.EditorObj.SwitchToFullScreen();
                    /*
                    if (this.EditorObj.SwitchToFullScreen()) {
                        Toolbar.SwitchToFullScreen();
                    }
                    */
                    break;
                }
            }
        }
    },

    // [ie] insert content 
    InsertContentIE : function (content) {
        try {
            if (this.SelectRange.type == 'None') {
                if (this.TextRange.parentElement().ownerDocument.body.className != 'maxcode-userenters')
                    throw new Error('parent document');
            }
            if ((this.SelectRange.type == 'Control' || this.TextRange.text != '') && this.SelectRange.clear)
                this.SelectRange.clear();
            this.TextRange.pasteHTML(content);
            this.TextRange.select();
            this.TextRange.collapse(false);
        }
        catch (e) {
            var c = this.Document.createElement('span');
            this.Document.body.appendChild(c);
            c.innerHTML = content;
            while (c.firstChild) {
                var node = c.removeChild(c.firstChild);
                c.parentNode.insertBefore(node, c);
            }
            c.parentNode.removeChild(c);
            this.SelectOneEidtor();
        }
        this.GetRange();
    },

    // [gecko] insert content 
    InsertContentGecko : function (insertNode) {
        // 獲得當(dāng)前選取對象
        var sel = this.SelectRange;

        // 獲取第一個(gè)選取對象,僅僅只有一個(gè)
        var range = sel.getRangeAt(0);

        // 取消所有選取
        sel.removeAllRanges();

        // 從文檔中刪除選區(qū)的內(nèi)容
        range.deleteContents();

        var container = range.startContainer;
        var pos = range.startOffset;

        // 創(chuàng)建新的Range
        range = this.Document.createRange();

        if (container.nodeType == 3 && insertNode.nodeType == 3) {
            // 如果插入點(diǎn)是文本節(jié)點(diǎn),則只進(jìn)行插入事件
            container.insertData(pos, insertNode.nodeValue);

            // 移動(dòng)光標(biāo)到插入的內(nèi)容后面
            range.setEnd(container, pos + insertNode.length);
            range.setStart(container, pos + insertNode.length);
        }
        else {
            var afterNode;
            if (container.nodeType == 3) {
                // 當(dāng)插入一個(gè)非文本節(jié)點(diǎn)到一個(gè)文本節(jié)點(diǎn)中,需要?jiǎng)?chuàng)建兩個(gè)文本節(jié)點(diǎn),然后在其間放入我們的節(jié)點(diǎn)

                var textNode = container;
                container = textNode.parentNode;
                var text = textNode.nodeValue;

                // 截取焦點(diǎn)之前的文本
                var textBefore = text.substr(0,pos);
                // 截取焦點(diǎn)之后的文本
                var textAfter = text.substr(pos);

                var beforeNode = this.Document.createTextNode(textBefore);
                afterNode = this.Document.createTextNode(textAfter);

                // insert the 3 new nodes before the old one
                container.insertBefore(afterNode, textNode);
                container.insertBefore(insertNode, afterNode);
                container.insertBefore(beforeNode, insertNode);

                // remove the old node
                container.removeChild(textNode);
            }
            else {
                // 否則僅僅插入節(jié)點(diǎn)
                afterNode = container.childNodes[pos];
                container.insertBefore(insertNode, afterNode);
            }

            try {range.setEnd(afterNode, 0);}catch (e) {}
            try {range.setStart(afterNode, 0);}catch (e) {}
        }

        try {
            sel.addRange(range);
            range.collapse(false);
            this.Focus();
        }
        catch (e) {}
    },

    // 菜單
    Menu : function (targetWindow, width, height, content, callback) {
        var targetDocument = targetWindow.document;
        var menu = document.createElement('div');
        menu.style.position = 'absolute';
        width && (menu.style.width = width + 'px');
        height && (menu.style.height = height + 'px');
        CSS.AddClass(menu, 'menu');

        if (typeof content == 'string') {
            var link = targetDocument.createElement('a');
            link.href = '#';
            link.onclick = function () {cEditor.setStyle('Bold')};
            link.appendChild(targetDocument.createTextNode(content));
            content = link;
        }
        content && menu.appendChild(content);
        targetDocument.body.appendChild(menu);

        /// 點(diǎn)擊按鈕關(guān)閉
        // 當(dāng)前窗口點(diǎn)擊
        var tempMouseDown = targetDocument.onmousedown || new Function();
        targetDocument.onmousedown = function (e) {
            //tempMouseDown();
            e = (e || targetWindow.event);
            var p = e.srcElement || e.target;
            if (p != menu) {
                while (p) {
                    if (p == menu) {
                        return;
                    }
                    p = p.offsetParent;
                }
            }
            menu.style.display = 'none';
            callback && callback();
        };
        // 編輯器點(diǎn)擊
        try {
            var tempMouseDownEditor = this.Document.onmousedown || new Function();
            this.Document.onmousedown = function () {
                tempMouseDownEditor();
                menu.style.display = 'none';
                callback && callback();
                mouse_down();
            };
        }
        catch (e) {}
        try {
            this.Document.addEventListener('mousedown', function () {
                menu.style.display = 'none';
                callback && callback();
            }, false);
        }
        catch (e) {}
        // 父窗口點(diǎn)擊
        var _parent = targetWindow.parent;
        function mouse_down () {
            menu.style.display = 'none';
            callback && callback();
            _parent.Events.RemoveEvent(_parent.document, 'mousedown', mouse_down);
        }
        _parent.Events.AttachEvent(_parent.document, 'mousedown', mouse_down);

        return menu;
    }
};

(function () {
    // 獲取編輯文本框
    var Document = window.parent.document;
    cEditor.TextField = Document.getElementsByName(cEditor.Name)[0];
    cEditor._TextField = Document.getElementsByName('_' + cEditor.Name)[0];
    cEditor.EditorType = Document.getElementsByName(cEditor.Name + 'Type')[0];

    cEditor.EditorObj.EditorWindow = window;
    cEditor.EditorObj.FrameEditor = cEditor;

    // 聚焦
    Events.AttachEvent(window, 'focus', function () {
        cEditor.Focus();
    });
})();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品欧美一区二区久久| 国内精品国产成人| 亚洲精品免费在线观看| 欧美激情综合五月色丁香小说| 欧美一级高清片在线观看| 欧美精品视频www在线观看| 欧美少妇bbb| 在线电影院国产精品| 欧美一区三区四区| 欧美成人激情免费网| 欧美成人激情免费网| 日韩欧美aaaaaa| 久久久三级国产网站| 国产亚洲1区2区3区| 欧美国产精品一区二区| 国产性天天综合网| 国产精品护士白丝一区av| 亚洲三级视频在线观看| 亚洲成人精品一区| 日韩中文字幕区一区有砖一区 | 亚洲图片自拍偷拍| 亚洲在线中文字幕| 日韩精品福利网| 国产一区激情在线| 99精品在线免费| 欧美亚洲丝袜传媒另类| 欧美三级电影精品| 日韩精品一区二区三区中文精品| 精品久久久久久久久久久久久久久久久| 26uuu精品一区二区在线观看| 久久久国际精品| 亚洲欧美日韩小说| 日本欧美加勒比视频| 国产毛片精品视频| 日本高清不卡视频| 日韩视频一区二区在线观看| 精品国产91亚洲一区二区三区婷婷| 久久久久国产一区二区三区四区 | 日韩毛片精品高清免费| 夜夜嗨av一区二区三区中文字幕| 亚洲一级二级在线| 国产一区二区三区视频在线播放 | 中文字幕精品一区二区三区精品| 一区二区三区不卡视频在线观看| 美女在线观看视频一区二区| 国产精品中文欧美| 在线日韩国产精品| 精品久久人人做人人爰| 亚洲欧美综合另类在线卡通| 爽好久久久欧美精品| 国产一区二区三区黄视频| 91麻豆国产自产在线观看| 欧美二区乱c少妇| 国产精品理论片| 婷婷夜色潮精品综合在线| 国产精品456| 欧美日韩精品福利| 中文字幕一区二区5566日韩| 日韩精品乱码免费| 一本久道久久综合中文字幕| 26uuu亚洲综合色| 亚洲综合免费观看高清完整版| 国产毛片精品一区| 337p亚洲精品色噜噜噜| 自拍偷拍欧美激情| 国产麻豆一精品一av一免费| 欧美日韩国产免费一区二区| 日本一区二区三区久久久久久久久不| 午夜电影久久久| 91美女蜜桃在线| 日本一区二区三区免费乱视频| 日韩电影在线免费看| 91污在线观看| 国产天堂亚洲国产碰碰| 美女性感视频久久| 91.成人天堂一区| 一区二区三区在线观看网站| 国产剧情一区二区三区| 日韩女优毛片在线| 性欧美大战久久久久久久久| 99久精品国产| 国产精品毛片无遮挡高清| 久久精品噜噜噜成人av农村| 欧美日韩高清在线播放| 亚洲欧洲成人精品av97| 国产老女人精品毛片久久| 日韩丝袜情趣美女图片| 性欧美大战久久久久久久久| 日本韩国一区二区三区| 亚洲天堂免费看| 成人综合在线观看| 久久精品亚洲精品国产欧美kt∨ | 国产一区在线看| 日韩一区二区三区免费看 | 亚洲综合色区另类av| 色综合视频在线观看| 亚洲特黄一级片| www.色精品| 国产精品第一页第二页第三页| 国产电影一区在线| 国产三级精品三级| 国产乱码精品一区二区三区五月婷 | 国产99久久精品| 久久免费美女视频| 国产在线精品一区二区三区不卡| 日韩欧美亚洲另类制服综合在线| 视频一区二区中文字幕| 欧美精品黑人性xxxx| 日韩激情视频网站| 日韩午夜精品视频| 国产在线不卡视频| 久久久久久久综合| 国产99久久久精品| 国产精品久久久久久久久快鸭 | 精品伦理精品一区| 国产专区欧美精品| 国产片一区二区| 99在线精品免费| 亚洲老司机在线| 欧美日韩国产综合久久| 天堂午夜影视日韩欧美一区二区| 欧美久久免费观看| 美女任你摸久久| 精品剧情在线观看| 成人动漫在线一区| 亚洲综合自拍偷拍| 3atv在线一区二区三区| 国精品**一区二区三区在线蜜桃| 国产亚洲精品免费| 97久久超碰国产精品| 亚洲成av人综合在线观看| 日韩视频中午一区| 成人国产精品免费观看动漫 | 成人涩涩免费视频| 亚洲一区欧美一区| 日韩视频123| 盗摄精品av一区二区三区| 亚洲色图丝袜美腿| 欧美福利视频导航| 91在线观看美女| 亚洲超碰97人人做人人爱| 日韩精品自拍偷拍| 99精品欧美一区二区三区综合在线| 亚洲午夜羞羞片| 久久精品亚洲精品国产欧美 | 91精品国产一区二区三区香蕉 | 日韩一区二区三区电影在线观看| 丁香网亚洲国际| 亚洲电影激情视频网站| 久久久久国产精品麻豆| 色国产综合视频| 国产一区福利在线| 亚洲妇女屁股眼交7| 久久美女艺术照精彩视频福利播放| 99久久精品免费观看| 久久国产精品72免费观看| 亚洲日本免费电影| 26uuu成人网一区二区三区| 91免费版pro下载短视频| 蜜臀a∨国产成人精品| 18成人在线视频| 精品三级在线观看| 91福利区一区二区三区| 国产一区二区免费看| 亚洲二区在线视频| 中文字幕一区二区三区不卡 | 日韩视频免费直播| 色噜噜狠狠色综合中国| 国产白丝精品91爽爽久久| 天天免费综合色| 亚洲欧美另类久久久精品| 欧美精品一区二区三区一线天视频 | 亚洲一区二区五区| 欧美激情一区不卡| 日韩欧美一区二区在线视频| 91国产视频在线观看| 成人一区在线观看| 精品写真视频在线观看| 亚洲成人777| 亚洲激情网站免费观看| 中文成人av在线| 337p日本欧洲亚洲大胆精品| 欧美日韩亚洲综合在线| 99久久er热在这里只有精品66| 激情综合色播激情啊| 午夜精品久久久久| 亚洲最色的网站| 亚洲欧美激情小说另类| 中文字幕中文字幕一区二区| 久久先锋资源网| 精品国产电影一区二区| 91精品国产综合久久久蜜臀粉嫩| 在线观看精品一区| 色综合久久久久网| youjizz国产精品| 成人h动漫精品| 成人综合在线视频| 成人激情校园春色| 成人性生交大片| 成人99免费视频|