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

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

?? editor.js

?? 新聞發布系統后
?? JS
?? 第 1 頁 / 共 4 頁
字號:
  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;
        }
      }
      if (found != 1) { classname_obj.value = null; }     // for classes not in list
    }
  }

  // update button states
  var IDList = Array('Bold','Italic','Underline','StrikeThrough','SubScript','SuperScript','JustifyLeft','JustifyCenter','JustifyRight','InsertOrderedList','InsertUnorderedList');
  for (i=0; i<IDList.length; i++) {
    var btnObj = document.all["_" +objname+ "_" +IDList[i]];
    if (btnObj == null) { continue; }
    var cmdActive = editdoc.queryCommandState( IDList[i] );

    if (!cmdActive)  {                                  // option is OK
      if (btnObj.className != 'btn') { btnObj.className = 'btn'; }
      if (btnObj.disabled  != false) { btnObj.disabled = false; }
    } else if (cmdActive)  {                            // option already applied or mixed content
      if (btnObj.className != 'btnDown') { btnObj.className = 'btnDown'; }
      if (btnObj.disabled  != false)   { btnObj.disabled = false; }
    }
  }
}

/* ---------------------------------------------------------------------- *\
  Function    : editor_updateOutput
  Description : update hidden output field with data from wysiwg
\* ---------------------------------------------------------------------- */

function editor_updateOutput(objname) {
  var config     = document.all[objname].config;
  var editor_obj  = document.all["_" +objname+  "_editor"];       // html editor object
  var editEvent = editor_obj.contentWindow ? editor_obj.contentWindow.event : event;
  var isTextarea = (editor_obj.tagName.toLowerCase() == 'textarea');
  var editdoc = isTextarea ? null : editor_obj.contentWindow.document;

  // get contents of edit field
  var contents;
  if (isTextarea) { contents = editor_obj.value; }
  else            { contents = editdoc.body.innerHTML; }

  // check if contents has changed since the last time we ran this routine
  if (config.lastUpdateOutput && config.lastUpdateOutput == contents) { return; }
  else { config.lastUpdateOutput = contents; }

  // update hidden output field
  document.all[objname].value = contents;

}

/* ---------------------------------------------------------------------- *\
  Function    : editor_filterOutput
  Description :
\* ---------------------------------------------------------------------- */

function editor_filterOutput(objname) {
  editor_updateOutput(objname);
  var contents = document.all[objname].value;
  var config   = document.all[objname].config;

  // ignore blank contents
  if (contents.toLowerCase() == '<p>&nbsp;</p>') { contents = ""; }

  // filter tag - this code is run for each HTML tag matched
  var filterTag = function(tagBody,tagName,tagAttr) {
    tagName = tagName.toLowerCase();
    var closingTag = (tagBody.match(/^<\//)) ? true : false;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品夜夜夜夜久久| 91黄色激情网站| 日本欧美加勒比视频| 亚洲高清免费一级二级三级| 国产精品美女久久久久aⅴ国产馆| 久久久久99精品国产片| 国产欧美日韩综合精品一区二区| 精品国产伦一区二区三区观看体验| 欧美另类变人与禽xxxxx| 在线91免费看| 欧美成人艳星乳罩| 国产亚洲精品超碰| 综合久久久久综合| 亚洲综合视频网| 青青草国产精品亚洲专区无| 蜜臀久久99精品久久久久宅男 | 国产不卡视频在线观看| 国产成人免费av在线| 99久精品国产| 欧美久久久影院| 26uuu色噜噜精品一区二区| 久久精品日韩一区二区三区| 中文字幕精品一区二区精品绿巨人| 国产精品国产成人国产三级| 一区二区三区在线视频观看| 天堂资源在线中文精品| 久久精品国产精品亚洲综合| 成人激情午夜影院| 欧美探花视频资源| 欧美mv和日韩mv的网站| 中文字幕一区在线观看| 亚洲成精国产精品女| 国产一区二区三区久久久 | 欧美日本一区二区在线观看| 91精品国产综合久久福利软件| 亚洲精品在线电影| 亚洲人一二三区| 美女一区二区视频| 91麻豆123| 欧美成人一区二区三区片免费| 亚洲少妇最新在线视频| 狠狠网亚洲精品| 欧美日韩视频在线观看一区二区三区| 欧美成人aa大片| 亚洲日穴在线视频| 国产一区二区在线影院| 91久久精品国产91性色tv| 69久久99精品久久久久婷婷| 最好看的中文字幕久久| 国产在线播精品第三| 欧美三级一区二区| 国产精品国产精品国产专区不蜜| 老司机免费视频一区二区| 欧美午夜精品一区| 日韩理论电影院| 精彩视频一区二区三区| 欧美精品精品一区| 一区二区三区四区五区视频在线观看| 国产在线精品一区二区| 精品视频全国免费看| 一区二区三区精品在线| 99热在这里有精品免费| 国产精品系列在线| 激情久久五月天| 欧美一区二区三区白人| 午夜视频在线观看一区二区| 在线观看一区日韩| 亚洲精品欧美激情| 色国产综合视频| 亚洲毛片av在线| 91精彩视频在线观看| 亚洲欧美日韩一区二区 | 蜜臀av国产精品久久久久| 欧美日韩久久不卡| 三级成人在线视频| 欧美一区国产二区| 日本三级亚洲精品| 精品乱人伦小说| 国产乱理伦片在线观看夜一区| 制服丝袜一区二区三区| 美日韩一区二区三区| 久久美女高清视频| 高清久久久久久| 亚洲人成网站在线| 91精品91久久久中77777| 亚洲一区二区在线播放相泽| 精品视频1区2区| 日本成人在线看| 久久一二三国产| 成人一区在线观看| 亚洲久本草在线中文字幕| 欧美日韩中文另类| 精品一区二区久久久| 国产视频一区二区在线观看| 成人av电影免费观看| 亚洲一区二区三区三| 777a∨成人精品桃花网| 国产综合色视频| 亚洲欧美日韩国产综合| 欧美精品一二三四| 国产成人亚洲综合色影视| 亚洲天堂福利av| 91精品国产色综合久久久蜜香臀| 国产精品1024| 亚洲一二三区不卡| 久久奇米777| 欧美性受xxxx黑人xyx| 麻豆成人免费电影| 亚洲欧美日韩国产中文在线| 日韩欧美第一区| 91欧美一区二区| 韩国精品在线观看| 亚洲国产视频在线| 国产欧美一区二区在线| 欧美亚洲国产怡红院影院| 国产乱妇无码大片在线观看| 亚洲3atv精品一区二区三区| 久久综合狠狠综合| 欧美绝品在线观看成人午夜影视| 粉嫩av一区二区三区在线播放| 肉肉av福利一精品导航| 亚洲免费观看高清完整| 久久综合成人精品亚洲另类欧美| 91精品福利视频| 99re这里只有精品首页| 精品一区二区三区久久久| 亚洲综合丝袜美腿| 亚洲欧美色图小说| 欧美国产一区二区在线观看| 日韩一级黄色片| 精品视频1区2区3区| 91网站在线观看视频| 国产一区二区免费在线| 免费视频一区二区| 亚洲bt欧美bt精品| 夜夜精品视频一区二区| 国产精品久久久久9999吃药| 久久久久久夜精品精品免费| 欧美一区二区观看视频| 欧美三区在线视频| 欧美日韩在线三区| 欧洲亚洲精品在线| 在线免费一区三区| 91美女在线观看| 色综合久久天天| 91蜜桃婷婷狠狠久久综合9色| 成人美女在线观看| 成人av资源站| av午夜精品一区二区三区| 国产成人av电影在线播放| 国产精品一区一区三区| 国产成人免费视频| 成人午夜激情影院| 成人av电影在线观看| 成人福利视频网站| 91啪亚洲精品| 欧美日韩一区二区三区高清| 欧美三级电影一区| 日韩一区二区三| 精品区一区二区| 国产午夜精品美女毛片视频| 国产欧美一区二区精品性色 | 日本午夜一区二区| 蓝色福利精品导航| 久久成人av少妇免费| 国产伦精品一区二区三区免费迷 | 精品成人一区二区三区四区| 精品99久久久久久| 国产女人水真多18毛片18精品视频| 中文字幕免费不卡| 亚洲欧美一区二区三区久本道91| 亚洲自拍偷拍综合| 麻豆91精品视频| 成人国产精品视频| 欧洲精品在线观看| 精品国产污污免费网站入口 | 免费看黄色91| 国产白丝精品91爽爽久久| va亚洲va日韩不卡在线观看| 91麻豆.com| 日韩你懂的在线播放| 国产精品久久久久国产精品日日| 亚洲麻豆国产自偷在线| 日韩av一区二区三区| 国产福利一区在线| 欧美色图在线观看| 欧美国产成人精品| 亚洲国产精品一区二区www| 九九视频精品免费| 91丨porny丨国产| 精品区一区二区| 亚洲高清视频的网址| 国产91丝袜在线18| 6080日韩午夜伦伦午夜伦| 日本一区二区三区免费乱视频| 亚洲午夜激情网页| 岛国一区二区三区| 精品乱人伦小说| 香蕉影视欧美成人| 91同城在线观看|