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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? editor.js

?? 本程序采用花香內核
?? JS
?? 第 1 頁 / 共 4 頁
字號:
  // split up button name into "editorID" and "cmdID"
  var BtnParts = Array();
  BtnParts = button_id.split("_");
  var objname    = button_id.replace(/^_(.*)_[^_]*$/, '$1');
  var cmdID      = BtnParts[ BtnParts.length-1 ];
  var button_obj = document.all[button_id];
  var editor_obj = document.all["_" +objname + "_editor"];
  var config     = document.all[objname].config;

  // help popup
  if (cmdID == 'showhelp') {
    window.open(_editor_url + "popups/editor_help.html", 'EditorHelp');
    return;
  }

  // popup editor
  if (cmdID == 'popupeditor') {
    window.open(_editor_url + "popups/fullscreen.html?"+objname,
                'FullScreen',
                'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=640,height=480');
    return;
  }

  // check editor mode (don't perform actions in textedit mode)
  if (editor_obj.tagName.toLowerCase() == 'textarea') { return; }

  var editdoc = editor_obj.contentWindow.document;
  editor_focus(editor_obj);

  // get index and value for pulldowns
  var idx = button_obj.selectedIndex;
  var val = (idx != null) ? button_obj[ idx ].value : null;

  if (0) {}   // use else if for easy cutting and pasting

  //
  // CUSTOM BUTTONS START HERE
  //

  // Custom1
  else if (cmdID == 'custom1') {
    alert("Hello, I am custom button 1!");
  }

  // Custom2
  else if (cmdID == 'custom2') {  // insert some text from a popup window
    var myTitle = "This is a custom title";
    var myText = showModalDialog(_editor_url + "popups/custom2.html",
                                 myTitle,      // str or obj specified here can be read from dialog as "window.dialogArguments"
                                 "resizable: yes; help: no; status: no; scroll: no; ");
    if (myText) { editor_insertHTML(objname, myText); }
  }

  // Custom3
  else if (cmdID == 'custom3') {  // insert some text
    editor_insertHTML(objname, "It's easy to add buttons that insert text!");
  }

  //
  // END OF CUSTOM BUTTONS
  //

  // FontName
  else if (cmdID == 'FontName' && val) {
    editdoc.execCommand(cmdID,0,val);
  }

  // FontSize
  else if (cmdID == 'FontSize' && val) {
    editdoc.execCommand(cmdID,0,val);
  }

  // FontStyle (change CSS className)
  else if (cmdID == 'FontStyle' && val) {
    editdoc.execCommand('RemoveFormat');
    editdoc.execCommand('FontName',0,'636c6173734e616d6520706c616365686f6c646572');
    var fontArray = editdoc.all.tags("FONT");
    for (i=0; i<fontArray.length; i++) {
      if (fontArray[i].face == '636c6173734e616d6520706c616365686f6c646572') {
        fontArray[i].face = "";
        fontArray[i].className = val;
        fontArray[i].outerHTML = fontArray[i].outerHTML.replace(/face=['"]+/, "");
        }
    }
    button_obj.selectedIndex =0;
  }

  // fgColor and bgColor
  else if (cmdID == 'ForeColor' || cmdID == 'BackColor') {
    var oldcolor = _dec_to_rgb(editdoc.queryCommandValue(cmdID));
    var newcolor = showModalDialog(_editor_url + "popups/select_color.html", oldcolor, "resizable: no; help: no; status: no; scroll: no;");
    if (newcolor != null) { editdoc.execCommand(cmdID, false, "#"+newcolor); }
  }

  // execute command for buttons - if we didn't catch the cmdID by here we'll assume it's a
  // commandID and pass it to execCommand().   See http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp
  else {
    // subscript & superscript, disable one before enabling the other
    if (cmdID.toLowerCase() == 'subscript' && editdoc.queryCommandState('superscript')) { editdoc.execCommand('superscript'); }
    if (cmdID.toLowerCase() == 'superscript' && editdoc.queryCommandState('subscript')) { editdoc.execCommand('subscript'); }

    // insert link
    if (cmdID.toLowerCase() == 'createlink'){
      editdoc.execCommand(cmdID,1);
    }

    // insert image
    else if (cmdID.toLowerCase() == 'insertimage'){
      showModalDialog(_editor_url + "popups/insert_image.html", editdoc, "resizable: no; help: no; status: no; scroll: no; ");
    }

    // insert table
    else if (cmdID.toLowerCase() == 'inserttable'){
      showModalDialog(_editor_url + "popups/insert_table.html?"+objname,
                                 window,
                                 "resizable: yes; help: no; status: no; scroll: no; ");
    }

    // all other commands microsoft Command Identifiers
    else { editdoc.execCommand(cmdID); }
  }

  editor_event(objname);
}

/* ---------------------------------------------------------------------- *\
  Function    : editor_event
  Description : called everytime an editor event occurs
  Usage       : editor_event(objname, runDelay, eventName)
  Arguments   : objname - ID of textarea to replace
                runDelay: -1 = run now, no matter what
                          0  = run now, if allowed
                        1000 = run in 1 sec, if allowed at that point
\* ---------------------------------------------------------------------- */

function editor_event(objname,runDelay) {
  var config = document.all[objname].config;
  var editor_obj  = document.all["_" +objname+  "_editor"];       // html editor object
  if (runDelay == null) { runDelay = 0; }
  var editdoc;
  var editEvent = editor_obj.contentWindow ? editor_obj.contentWindow.event : event;

  // catch keypress events
    if (editEvent && editEvent.keyCode) {
      var ord       = editEvent.keyCode;    // ascii order of key pressed
      var ctrlKey   = editEvent.ctrlKey;
      var altKey    = editEvent.altKey;
      var shiftKey  = editEvent.shiftKey;

      if (ord == 16) { return; }  // ignore shift key by itself
      if (ord == 17) { return; }  // ignore ctrl key by itself
      if (ord == 18) { return; }  // ignore alt key by itself


       // cancel ENTER key and insert <BR> instead
//       if (ord == 13 && editEvent.type == 'keypress') {
//         editEvent.returnValue = false;
//         editor_insertHTML(objname, "<br>");
//         return;
//       }

      if (ctrlKey && (ord == 122 || ord == 90)) {     // catch ctrl-z (UNDO)
//      TODO: Add our own undo/redo functionality
//        editEvent.cancelBubble = true;
        return;
      }
      if ((ctrlKey && (ord == 121 || ord == 89)) ||
          ctrlKey && shiftKey && (ord == 122 || ord == 90)) {     // catch ctrl-y, ctrl-shift-z (REDO)
//      TODO: Add our own undo/redo functionality
        return;
      }
    }

  // setup timer for delayed updates (some events take time to complete)
  if (runDelay > 0) { return setTimeout(function(){ editor_event(objname); }, runDelay); }

  // don't execute more than 3 times a second (eg: too soon after last execution)
  if (this.tooSoon == 1 && runDelay >= 0) { this.queue = 1; return; } // queue all but urgent events
  this.tooSoon = 1;
  setTimeout(function(){
    this.tooSoon = 0;
    if (this.queue) { editor_event(objname,-1); };
    this.queue = 0;
    }, 333);  // 1/3 second


  editor_updateOutput(objname);
  editor_updateToolbar(objname);

}

/* ---------------------------------------------------------------------- *\
  Function    : editor_updateToolbar
  Description : update toolbar state
  Usage       :
  Arguments   : objname - ID of textarea to replace
                action  - enable, disable, or update (default action)
\* ---------------------------------------------------------------------- */

function editor_updateToolbar(objname,action) {
  var config = document.all[objname].config;
  var editor_obj  = document.all["_" +objname+  "_editor"];

  // disable or enable toolbar

  if (action == "enable" || action == "disable") {
    var tbItems = new Array('FontName','FontSize','FontStyle');                           // add pulldowns
    for (var btnName in config.btnList) { tbItems.push(config.btnList[btnName][0]); } // add buttons

    for (var idxN in tbItems) {
      var cmdID = tbItems[idxN].toLowerCase();
      var tbObj = document.all["_" +objname+ "_" +tbItems[idxN]];
      if (cmdID == "htmlmode" || cmdID == "about" || cmdID == "showhelp" || cmdID == "popupeditor") { continue; } // don't change these buttons
      if (tbObj == null) { continue; }
      var isBtn = (tbObj.tagName.toLowerCase() == "button") ? true : false;

      if (action == "enable")  { tbObj.disabled = false; if (isBtn) { tbObj.className = 'btn' }}
      if (action == "disable") { tbObj.disabled = true;  if (isBtn) { tbObj.className = 'btnNA' }}
    }
    return;
  }

  // update toolbar state

  if (editor_obj.tagName.toLowerCase() == 'textarea') { return; }   // don't update state in textedit mode
  var editdoc = editor_obj.contentWindow.document;

  // Set FontName pulldown
  var fontname_obj = document.all["_" +objname+ "_FontName"];
  if (fontname_obj) {
    var fontname = editdoc.queryCommandValue('FontName');
    if (fontname == null) { fontname_obj.value = null; }
    else {
      var found = 0;
      for (i=0; i<fontname_obj.length; i++) {
        if (fontname.toLowerCase() == fontname_obj[i].text.toLowerCase()) {
          fontname_obj.selectedIndex = i;
          found = 1;
        }
      }
      if (found != 1) { fontname_obj.value = null; }     // for fonts not in list
    }
  }

  // Set FontSize pulldown
  var fontsize_obj = document.all["_" +objname+ "_FontSize"];
  if (fontsize_obj) {
    var fontsize = editdoc.queryCommandValue('FontSize');
    if (fontsize == null) { fontsize_obj.value = null; }
    else {
      var found = 0;
      for (i=0; i<fontsize_obj.length; i++) {
        if (fontsize == fontsize_obj[i].value) { fontsize_obj.selectedIndex = i; found=1; }
      }
      if (found != 1) { fontsize_obj.value = null; }     // for sizes not in list
    }
  }

  // Set FontStyle pulldown
  var classname_obj = document.all["_" +objname+ "_FontStyle"];
  if (classname_obj) {
    var curRange = editdoc.selection.createRange();

    // check element and element parents for class names
    var pElement;
    if (curRange.length) { pElement = curRange[0]; }              // control tange
    else                 { pElement = curRange.parentElement(); } // text range
    while (pElement && !pElement.className) { pElement = pElement.parentElement; }  // keep going up

    var thisClass = pElement ? pElement.className.toLowerCase() : "";
    if (!thisClass && classname_obj.value) { classname_obj.value = null; }
    else {
      var found = 0;
      for (i=0; i<classname_obj.length; i++) {
        if (thisClass == classname_obj[i].value.toLowerCase()) {
          classname_obj.selectedIndex = i;
          found=1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va| 色婷婷久久99综合精品jk白丝| 欧美无人高清视频在线观看| 国产资源在线一区| 天堂成人免费av电影一区| 久久久蜜桃精品| 日韩欧美一区中文| 欧美日韩色综合| 99re8在线精品视频免费播放| 精品制服美女丁香| 青娱乐精品视频在线| 中文字幕在线一区免费| 日韩精品一区二区三区在线观看| 欧美色图12p| 欧美中文字幕一区二区三区亚洲| 99久久99久久免费精品蜜臀| 国产成人a级片| 国产一区二区中文字幕| 亚洲成人www| 亚洲欧洲日产国产综合网| 久久精品一区二区三区不卡 | 日韩一区二区三区精品视频| 欧美曰成人黄网| 色狠狠一区二区| 色综合天天性综合| 在线看国产一区二区| 色一情一乱一乱一91av| 91丨porny丨最新| 91视频免费播放| 成人免费毛片aaaaa**| 成人av网址在线| 99精品国产一区二区三区不卡| aaa亚洲精品| 在线国产亚洲欧美| 欧美日韩激情一区| 欧美成人国产一区二区| 日韩一二在线观看| 久久香蕉国产线看观看99| 国产欧美一区二区三区在线看蜜臀| 国产女同互慰高潮91漫画| 中文字幕在线一区二区三区| 伊人色综合久久天天人手人婷| 一区二区三区资源| 青青草视频一区| 国产一区二区毛片| 99热在这里有精品免费| 欧美性色欧美a在线播放| 欧美剧情电影在线观看完整版免费励志电影 | 韩国精品久久久| 大白屁股一区二区视频| 国产成人激情av| 在线视频一区二区三区| 91精品国产综合久久精品app| 欧美成人一区二区三区在线观看| 久久免费视频色| 亚洲精品成人在线| 亚洲高清三级视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产99久久精品| 欧美日韩一区成人| 久久色.com| 亚洲精品中文字幕乱码三区| 免费高清成人在线| 成人国产精品免费观看视频| 欧美日韩一区二区三区高清| 国产三级一区二区三区| 亚洲福利视频三区| 国产精品资源网| 欧美日韩和欧美的一区二区| 精品盗摄一区二区三区| 亚洲精品国产第一综合99久久 | 五月综合激情日本mⅴ| 亚欧色一区w666天堂| 国产激情91久久精品导航| 国产精品自拍毛片| 一本在线高清不卡dvd| 欧美三级中文字| 久久久久97国产精华液好用吗| 亚洲美女少妇撒尿| 首页欧美精品中文字幕| 东方欧美亚洲色图在线| 精品视频1区2区| 精品日韩在线一区| 日韩美女久久久| 麻豆专区一区二区三区四区五区| 国内外精品视频| 欧美三区在线观看| 亚洲欧洲日本在线| 国内欧美视频一区二区| 精品视频一区二区不卡| 国产精品欧美一区喷水| 久久99国产精品久久99 | 精品一区二区三区免费毛片爱| 国产一区不卡视频| 91精品国产全国免费观看| 一区二区三区影院| 成人高清免费观看| 久久久精品免费免费| 午夜av区久久| 在线观看日韩电影| 中文在线一区二区| 韩国午夜理伦三级不卡影院| 91精品国产综合久久精品| 国产精品久久久99| 国产精品一区二区无线| 91精品国产综合久久久久久漫画| 国产精品无圣光一区二区| 韩国成人在线视频| 欧美嫩在线观看| 亚洲成人资源网| 91福利精品第一导航| 中文字幕亚洲一区二区av在线| 国产一区二区0| 一区二区三区在线免费视频| 三级成人在线视频| 91精品国产黑色紧身裤美女| 首页欧美精品中文字幕| 日韩视频国产视频| 韩国成人福利片在线播放| 欧美成人一区二区三区片免费| 奇米影视一区二区三区小说| 在线观看免费亚洲| 免费观看在线综合色| 欧美一级久久久| 久久不见久久见免费视频1| 日韩精品一区二区三区四区 | 久久精品国产一区二区三| 欧美一级专区免费大片| 极品美女销魂一区二区三区免费| 日韩亚洲欧美在线| 日韩电影在线观看网站| 欧美成人一区二区三区| 国精产品一区一区三区mba视频 | 欧美日韩久久一区| 亚洲图片欧美色图| 日韩一区国产二区欧美三区| 韩国欧美一区二区| 中文字幕亚洲精品在线观看| 91在线精品一区二区| 亚洲国产精品久久不卡毛片| 777奇米四色成人影色区| 黄色精品一二区| 亚洲精品日韩一| 欧美日韩不卡在线| 国产在线精品一区二区夜色| 国产亚洲精品aa午夜观看| 成人av片在线观看| 亚洲区小说区图片区qvod| 欧美一区二区久久久| 国产高清精品久久久久| 亚洲欧美成人一区二区三区| 欧美日韩成人综合天天影院| 激情av综合网| 自拍偷拍亚洲欧美日韩| 欧美人动与zoxxxx乱| 国产精品99久久久久久有的能看| 国产精品网曝门| 欧美日韩视频在线观看一区二区三区 | 日本aⅴ精品一区二区三区| 久久色在线观看| 色视频一区二区| 国产一区二区三区高清播放| 亚洲欧美中日韩| 51精品国自产在线| 粉嫩av一区二区三区在线播放 | 亚洲国产精品人人做人人爽| 久久香蕉国产线看观看99| 99vv1com这只有精品| 天堂在线亚洲视频| 欧美国产在线观看| 7777女厕盗摄久久久| 韩国成人在线视频| 污片在线观看一区二区| 国产精品网友自拍| 欧美一区二区美女| 一本一本大道香蕉久在线精品 | 91视频国产观看| 久久精工是国产品牌吗| 亚洲精品视频免费看| 久久久久久久性| 欧美日韩国产123区| 成人国产精品免费网站| 麻豆精品蜜桃视频网站| 亚洲美女电影在线| 国产色爱av资源综合区| 日韩亚洲欧美一区二区三区| 日本道免费精品一区二区三区| 久草精品在线观看| 亚洲妇熟xx妇色黄| 日韩码欧中文字| 国产日韩精品视频一区| 精品国产a毛片| 欧美日韩黄色一区二区| 91免费国产在线| 国产成人免费视| 精品一区二区影视| 激情偷乱视频一区二区三区| 亚洲午夜免费电影| 亚洲欧美日韩国产综合在线 | 久草热8精品视频在线观看|