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

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

?? coreeditor.js

?? asp的bbs程序
?? JS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
?/*
  By Hangring
  #2007.11.02#
  ---
  use list:
  > global.lib.js
  > string.lib.js
  > browser.lib.js
  > css.lib.js
  > node.lib.js
  > events.lib.js
  > url.lib.js
  ---
  編輯器核心
*/
var cEditor = {
    // 名稱,用于引用父窗口的文本域,標(biāo)記唯一性
    Name : Url.QS()['Name'],
    // 當(dāng)前窗口所在父窗口中的iframe的id
    FrameName : Url.QS()['FrameName'],
    // 初始值模式
    TMode : Url.QS()['TMode'] || 'html',
    // 顯示模式
    DMode : Url.QS()['DMode'] || Config.WYSIWYG,
    
    AllowHTML : Url.QS()['AllowHTML'] != 'false' ? true : false,
    AllowUBB : Url.QS()['AllowUBB'] != 'false' ? true : false,
    // 引用外CSS
    CSS : Url.QS()['CSS'] || '',

    // 是否編輯框聚焦
    Selectable : Url.QS()['Selectable'] != 'false' ? true : false,

    // 標(biāo)識(shí)第一次運(yùn)行
    FirstRun : false,
    
    // 是否從其他模式切換到可視化
    IsSwitch : false,
    
    // 滾動(dòng)條出現(xiàn)后,是否提示全屏
    FullScreenPrompt : Url.QS()['FullScreenPrompt'] != 'false' ? true : false,

    // 工具條,編輯區(qū)域
    ToolBarName : 'ToolBar',
    EditorAreaName : 'EditorArea',
    StatusBarName : 'StatusBar',

    // 父窗口的Editor類實(shí)例
    Id : Url.QS()['Id'],
    EditorObj : parent[Url.QS()['Id']],

    // 當(dāng)前編輯器對(duì)象,框架對(duì)象
    Editor : null,

    // EditType: XHTML|UBB|WYSIWYG
    EditType : Config.WYSIWYG,

    // 父窗口的文本域
    TextField : null,
    _TextField : null,
    // 父窗口保存編輯狀態(tài)隱藏域
    EditorType : null,

    // 主編輯器窗口對(duì)象iframe
    EditorWindow : null,
    // 編輯區(qū)域?qū)ο?    EditorArea : null,
    // 編輯框?qū)ο骾frame
    EditorIframe : null,
    // 編輯框窗口對(duì)象
    Window : null,
    // 編輯框文檔對(duì)象
    Document : null,

    // 存儲(chǔ)源碼文本域
    TextArea : null,
    
    // 原始內(nèi)容類型
    OriginType : '',
    // 存儲(chǔ)原始內(nèi)容
    OriginValue : '',
    // 存儲(chǔ)臨時(shí)內(nèi)容
    TempValue : {first:'', second:'', type:''},

    // 最小高度
    MinHeight : 300,
    // 高度疊加值
    StepHeight : 100,

    // 選擇范圍對(duì)象
    SelectRange : null,

    // 選擇文本對(duì)象
    TextRange : null,
    TextRangeStart : 0,
    TextRangeEnd : 0,
    
    // 鼠標(biāo)按下的當(dāng)前對(duì)象
    FocusHTMLElement : null,

    //////
    GetEditor : function () {
        if (this.Editor) return this.Editor;
        this.Editor = parent.$(this.FrameName);
        return this.Editor;
    },

    // 編輯器寬度
    Width : function () {
        return this.GetEditor().offsetWidth;
    },

    // 編輯器高度
    Height : function () {
        return this.GetEditor().offsetHeight;
    },

    // 初始化
    Initialize : function () {
        var self = this;

        // 工具欄
        var tb = $(this.ToolBarName);
        var sb = $(this.StatusBarName);
        Toolbar.init(tb, sb);

        // 本frame對(duì)象
        this.EditorWindow = this.GetEditor();

        //
        Events.AttachEvent(document, 'keypress', function (e) {
            var num;
            if (e.keyCode == 13) 
                num = self.EditorObj && self.EditorObj.CloseWidget();
            else 
                return;
            if ($EO(e).tagName.toLowerCase() == 'textarea' && !e.ctrlKey) {
                if (num) Events.CancelAll(e);
                return;
            }
            if (!num) {
                self.UpdateTextField();
                if (self.EditorObj && self.EditorObj.Submit) {
                    self.EditorObj.Submitting(true);
                    self.EditorObj.Submit();
                }
            }
            Events.CancelAll(e);
        });

        this.Resize();
    },

    // 開(kāi)始編輯
    StartEditor : function () {
        var html = this._TextField.value;
        // 顯示模式為WYSIWYG或XHTML,文本模式為UBB
        if ((this.DMode == Config.WYSIWYG || this.DMode == Config.XHTML) && this.TMode == Config.UBB) {
            html = UBB.ubbToXhtml(html);
            if (this.DMode == Config.XHTML)
                html = UBB.imageHTMLUrlToSign(html);
            else
                html = UBB.imageHTMLSignToUrl(html);
            this.OriginType = Config.XHTML;
        }
        // 顯示模式為UBB,文本模式為HTML
        else if (this.DMode == Config.UBB && this.TMode == Config.HTML) {
            html = UBB.xhtmlToUbb(html);
            this.OriginType = Config.UBB;
        }
        else {
            this.OriginType = this.TMode == Config.HTML ? Config.XHTML : Config.UBB;
        }
        this.OriginValue = html;
        this.TempValue = {first:html,second:html,type:this.OriginType};
        this.DisplayTip();
        
        html = html || (Browser.IsIE ? '' : '<br>');

        this.CreateEditorArea(UBB.multimediaUbbToHtmlView(html));
    },

    // 編輯區(qū)
    CreateEditorArea : function (html) {
        if (! this.EditorArea) this.EditorArea = $('EditorArea');

        while ( this.EditorArea.childNodes.length > 0 )
            this.EditorArea.removeChild(this.EditorArea.childNodes[0]) ;

        var oHtml =
            ['<html>',
            '<head>',
            (this.CSS ? '<link rel="stylesheet" type="text/css" href="' + this.CSS + '" />' : ''),
            '<link rel="stylesheet" type="text/css" href="css/style.css" />',
            '<script type="text/javascript">window.onload=function(){return true}</script>',
            '</head>',
            '<body class="maxcode-userenters">' + (Browser.IsIE ? (html || '') : (html || '<br>')) + '</body>',
            '</html>'].join('');

        var oIframe = this.EditorIframe = oNode.CreateIframe(this.Name);
        oIframe.src = 'javascript:;';//'about:blank';
        oIframe.frameBorder = 0;
        oIframe.height = '100%';
        oIframe.width = '100%';

        this.EditorArea.appendChild(oIframe);

        this.Window = oIframe.contentWindow;
        var oDocument = this.Document = this.Window.document;

        Events.AttachEvent(this.Window, 'error', function () {return true});
        this.Window.onerror = function () {return true};

        var SetEditor = function () {
            // 無(wú)內(nèi)容時(shí),需放置一個(gè)空格,以防止編輯框無(wú)法獲得焦點(diǎn)
            oDocument.open();
            oDocument.write(oHtml); 
            oDocument.close();

            // 設(shè)置可編輯
            if (Browser.IsIE) {
                oDocument.body.contentEditable = true;
            }
            else {
                oDocument.designMode = 'on';
            }

            // 設(shè)置Gecko不在<SPAN>標(biāo)記使用bold, italic和underline樣式
            if (! Browser.IsIELike) {
                try {
                    oDocument.execCommand('styleWithCSS', false, false);
                    oDocument.execCommand('useCSS', false, true);
                    //oDocument.execCommand('insertBrOnReturn', false, false);
                }
                catch (e) {}
            }

            // 設(shè)置選擇區(qū)對(duì)象
            cEditor.GetRange();

            // 編輯器創(chuàng)建完成,或重新更新完畢
            cEditor.CreateComplete();
        };

        // 設(shè)置可編輯
        if (Browser.IsIE)
            SetEditor();
        else
            setTimeout(SetEditor, 100);
    },

    // 存儲(chǔ)區(qū)
    CreateTextArea : function (text, type) {
        var self = this;
        if (! this.EditorArea) this.EditorArea = $('EditorArea');

        this.EditorIframe = null;
        while (this.EditorArea.childNodes.length > 0)
            this.EditorArea.removeChild(this.EditorArea.childNodes[0]);

        var TextArea = this.TextArea = document.createElement('textarea');
        TextArea.style.border = '0';
        TextArea.style.padding = '0';
        TextArea.style.maring = '0';
        TextArea.value = text;
        // 失焦更新對(duì)應(yīng)文本域
        TextArea.onblur = function () {
            self.UpdateTextField();
        };
        this.EditorArea.appendChild(TextArea);
    },
    TextAreaBindEvent : function () {
        var self = this;
        function gtr () {self.GetTextRange()}

        var t = this.TextArea;
        t.onkeyup = gtr;
        t.onpaste = gtr;
        t.onmouseup = gtr;
        
        this.SelectOneTextArea();
    },

    // 編輯器創(chuàng)建完畢時(shí)調(diào)用
    CreateComplete : function () {
        var self = this;
        
        // 編輯器綁定事件
        if (Browser.IsIE) {
            this.Document.onmouseup = function (e) {
                self.GetRange();
                Toolbar.responseIE(e);
            };
            if (!Browser.IsIE56) {
                Events.AttachEvent(this.Document, 'keydown', function (e) {
                    self.GetRange();
                    Toolbar.responseIE(e, true);
                }, false, this.Window);
            }
            this.Document.onkeyup = function (e) {
                self.GetRange();
                self.FocusHTMLElement = null;
            };
            //this.Document.onkeydown = function (e) {
            //    Toolbar.responseIE(e, true);
            //};
        }
        else {
            this.Document.addEventListener(
                'mouseup',
                function (e) {
                    self.GetRange();
                    Toolbar.responseGecko(e);
                },
                false
            );
            this.Document.addEventListener(
                'keyup',
                function (e) {
                    self.GetRange();
                    Toolbar.responseGecko(e, true);
                    self.FocusHTMLElement = null;
                },
                false
            );
            this.Document.addEventListener(
                'dblclick',
                function (e) {
                    self.GetRange();
                    Toolbar.responseGecko(e);
                },
                false
            );
        }
        Events.AttachEvent(this.Document, 'mousedown', function (e) {
            var obj = $EO(e);
            self.FocusHTMLElement = obj;
            
            //Toolbar.hideFace();
            //Toolbar.clearFaces();
        }, false, this.Window);

        // resize editor
        Events.AttachEvent(window, 'resize', function () {cEditor.Resize();});
        
        // 編輯器內(nèi)提交
        var keyEvent = function (e) {
            if (Browser.IsIE && e.keyCode == 8) {
                var selection = self.Document.selection;
                if (selection.type == 'Control') {
                    selection.clear();
                    self.GetRange();
                    Events.CancelAll(e);
                    return;
                }
            }
            if (e.keyCode == 13) {
                var num = self.EditorObj && self.EditorObj.CloseWidget();
                if (Browser.IsIE && !e.ctrlKey && !e.altKey && !e.shiftKey && num == 0) {
                    self.GetRange();
                    Events.CancelAll(e);
                    self.InsertContent('<br>');
                    return;
                }
                
                try {
                    if (e.ctrlKey && !num) {
                        if (self.EditorObj && self.EditorObj.Submit) {
                            //self.UpdateTextField();
                            self.EditorObj.Submitting(true);
                            self.EditorObj.Submit();
                        };
                    }
                    num && Events.CancelAll(e);
                }
                catch (e) {}
            }
            // F5
            if (e.keyCode == 116) self.UpdateTextField();
        }
        if (Browser.IsOpera) Events.AttachEvent(this.Document, 'keypress', keyEvent, false, this.Window);
        else Events.AttachEvent(this.Document, 'keydown', keyEvent, false, this.Window);

        // 失焦后更新相應(yīng)文本域
        //Events.AttachEvent(Browser.IsIE ? this.Document.body : this.Window, 'blur', function () {
        //    if (!self.isWYSIWYG()) return;
        //    self.UpdateTextField();
        //});
        
        // 屏蔽腳本錯(cuò)誤,由拷貝網(wǎng)頁(yè)內(nèi)容導(dǎo)致的問(wèn)題
        this.Window.onerror = function () {return true};
        Events.AttachEvent(this.Window, 'error', function (e) {
            Events.CancelAll(e);
        }, this.Window);

        // clear space
        if (Browser.IsIE) {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区不卡| 国产伦精一区二区三区| 久久综合色8888| 在线观看亚洲精品| 国产91丝袜在线播放| 天涯成人国产亚洲精品一区av| 国产欧美日韩精品在线| 在线综合+亚洲+欧美中文字幕| av高清久久久| 国内精品久久久久影院薰衣草 | 欧美精品乱码久久久久久按摩| 国产成人av影院| 日本不卡视频一二三区| 亚洲一区日韩精品中文字幕| 欧美激情一区二区三区| 精品成人免费观看| 91精品国产一区二区人妖| 91国产免费观看| 精品va天堂亚洲国产| 国产精品夜夜爽| 丝袜亚洲另类欧美| 日韩女优视频免费观看| 老汉av免费一区二区三区| 久久久久久久久97黄色工厂| 国产精品一卡二卡在线观看| 国产精品嫩草99a| 色综合天天综合色综合av| 婷婷夜色潮精品综合在线| 中文字幕一区二区三区在线播放| 欧美大片在线观看一区| 欧美一区二区视频在线观看2022| 欧美无乱码久久久免费午夜一区| 97aⅴ精品视频一二三区| jlzzjlzz亚洲日本少妇| 成人性生交大片| 成人激情免费电影网址| 国产91精品在线观看| 国产寡妇亲子伦一区二区| 久88久久88久久久| 国产精品自拍毛片| 国产精品综合网| 高清国产午夜精品久久久久久| 国产夫妻精品视频| 成人黄色a**站在线观看| 91在线观看高清| 91九色最新地址| 欧美日韩一区二区三区不卡| 欧美日韩一区二区三区四区| 欧美高清激情brazzers| 日韩精品资源二区在线| 久久亚洲二区三区| 中文无字幕一区二区三区| 国产精品久久久久一区| 国产精品一区免费在线观看| 欧美日韩一区二区在线视频| 久久狠狠亚洲综合| 亚洲欧美经典视频| 国产精品美女久久久久久久 | 国产精品国产三级国产普通话99| 欧美成人性战久久| 日韩亚洲欧美在线观看| 精品成人私密视频| 久久久电影一区二区三区| 奇米四色…亚洲| 亚洲男人天堂av| 久久精品一区二区| 中文字幕在线不卡一区二区三区 | 国产精品色一区二区三区| 国产精品美女久久久久久| 一区二区在线观看免费 | 激情av综合网| 菠萝蜜视频在线观看一区| 色狠狠av一区二区三区| 777午夜精品视频在线播放| 久久婷婷成人综合色| 欧美一区午夜视频在线观看| 911精品产国品一二三产区| 欧美一区二区三区系列电影| 欧美一区二区视频在线观看2020 | 91视频观看免费| 欧美中文字幕不卡| 欧美日韩一级视频| 欧洲精品在线观看| 欧美一区永久视频免费观看| 欧美激情一区在线观看| 午夜亚洲福利老司机| 成人av在线一区二区| 欧美一区二区成人| 最新热久久免费视频| 老司机精品视频导航| 91国产福利在线| 久久精品夜色噜噜亚洲aⅴ| 香蕉成人伊视频在线观看| 成人久久视频在线观看| 在线综合视频播放| 亚洲精品乱码久久久久久久久 | 亚洲成人一区二区在线观看| 国产麻豆精品theporn| 欧美日韩高清一区二区| 国产精品免费观看视频| 久久精品国产亚洲高清剧情介绍| 91香蕉视频污| 国产欧美精品日韩区二区麻豆天美| 一区二区在线观看视频在线观看| 国产精品1区2区| 91精品国产色综合久久不卡蜜臀| 国产女人18毛片水真多成人如厕| 日本不卡123| 欧美性大战久久久久久久蜜臀| 久久久国产精品午夜一区ai换脸| 亚洲一区影音先锋| av不卡免费在线观看| 精品国产一区二区三区久久影院 | 欧美视频一区在线| 欧美经典一区二区| 蜜臀va亚洲va欧美va天堂| 在线亚洲+欧美+日本专区| 国产精品你懂的在线欣赏| 国产精品自产自拍| 欧美不卡在线视频| 日韩av中文字幕一区二区三区| 成人午夜激情视频| 2欧美一区二区三区在线观看视频| 亚洲高清不卡在线观看| 国产精品欧美久久久久无广告| 精品在线观看视频| 91精品国产91久久久久久一区二区 | 91在线你懂得| 欧美精品一区二区在线播放| 精品影视av免费| 2021久久国产精品不只是精品| 免费一级欧美片在线观看| 精品入口麻豆88视频| 成人性生交大片免费看中文网站| 成年人国产精品| 91精品国产乱码| 婷婷久久综合九色综合绿巨人| 欧美日韩一级片在线观看| 亚洲成人在线观看视频| 一本色道久久加勒比精品| 亚洲欧美综合网| 91在线你懂得| 亚洲狠狠丁香婷婷综合久久久| 成人av片在线观看| 亚洲视频图片小说| 91麻豆精品视频| 亚洲主播在线观看| 欧美肥妇毛茸茸| 日本aⅴ免费视频一区二区三区| 欧美一区二区黄色| 蜜桃一区二区三区在线| 久久久亚洲精品一区二区三区 | 成人免费毛片嘿嘿连载视频| 中文字幕欧美三区| 色综合久久九月婷婷色综合| 亚洲国产一二三| 欧美一区二区视频在线观看2022| 免费视频最近日韩| 日本一区二区视频在线| 成人午夜视频在线| 亚洲制服丝袜一区| 欧美一区二区女人| 国产精品综合二区| 综合久久综合久久| 欧美色图免费看| 久久99热这里只有精品| 日本一二三不卡| 欧美天堂亚洲电影院在线播放| 日本中文字幕一区| 日本一区二区在线不卡| 在线免费观看一区| 韩国女主播成人在线| 亚洲四区在线观看| 337p亚洲精品色噜噜噜| 国产精品一级黄| 亚洲三级在线免费观看| 666欧美在线视频| 国产精品一区二区不卡| 亚洲欧美视频在线观看| 欧美成人乱码一区二区三区| 麻豆久久一区二区| 亚洲欧美另类在线| 日韩欧美电影一二三| 99久久久无码国产精品| 无码av中文一区二区三区桃花岛| 国产色爱av资源综合区| 色天天综合色天天久久| 国内精品久久久久影院薰衣草| 亚洲人亚洲人成电影网站色| 日韩写真欧美这视频| 97se亚洲国产综合自在线观| 麻豆免费精品视频| 艳妇臀荡乳欲伦亚洲一区| 久久人人爽人人爽| 在线精品视频一区二区三四| 国产福利一区二区三区在线视频| 亚洲精品欧美激情| 精品久久五月天| 91久久精品网| 大陆成人av片|