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

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

?? msgcomposecommands.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 5 頁
字號:
          // catch the exception and ignore it, so that if LDAP setup           // fails, the entire compose window doesn't get horked      }  }}function AddDirectoryServerObserver(flag) {  if (flag) {    sPrefBranchInternal.addObserver("ldap_2.autoComplete.useDirectory",                                    directoryServerObserver, false);    sPrefBranchInternal.addObserver("ldap_2.autoComplete.directoryServer",                                    directoryServerObserver, false);  }  else  {    var prefstring = "mail.identity." + gCurrentIdentity.key + ".overrideGlobal_Pref";    sPrefBranchInternal.addObserver(prefstring, directoryServerObserver, false);    prefstring = "mail.identity." + gCurrentIdentity.key + ".directoryServer";    sPrefBranchInternal.addObserver(prefstring, directoryServerObserver, false);  }}function RemoveDirectoryServerObserver(prefstring){  if (!prefstring) {    sPrefBranchInternal.removeObserver("ldap_2.autoComplete.useDirectory", directoryServerObserver);    sPrefBranchInternal.removeObserver("ldap_2.autoComplete.directoryServer", directoryServerObserver);  }  else  {    var str = prefstring + ".overrideGlobal_Pref";    sPrefBranchInternal.removeObserver(str, directoryServerObserver);    str = prefstring + ".directoryServer";    sPrefBranchInternal.removeObserver(str, directoryServerObserver);  }}function AddDirectorySettingsObserver(){  sPrefBranchInternal.addObserver(gCurrentAutocompleteDirectory, directoryServerObserver, false);}function RemoveDirectorySettingsObserver(prefstring){  sPrefBranchInternal.removeObserver(prefstring, directoryServerObserver);}function setupLdapAutocompleteSession(){    var autocompleteLdap = false;    var autocompleteDirectory = null;    var prevAutocompleteDirectory = gCurrentAutocompleteDirectory;    var i;    autocompleteLdap = sPrefs.getBoolPref("ldap_2.autoComplete.useDirectory");    if (autocompleteLdap)        autocompleteDirectory = sPrefs.getCharPref(            "ldap_2.autoComplete.directoryServer");    if(gCurrentIdentity.overrideGlobalPref) {        autocompleteDirectory = gCurrentIdentity.directoryServer;    }    // use a temporary to do the setup so that we don't overwrite the    // global, then have some problem and throw an exception, and leave the    // global with a partially setup session.  we'll assign the temp    // into the global after we're done setting up the session    //    var LDAPSession;    if (gLDAPSession) {        LDAPSession = gLDAPSession;    } else {        LDAPSession = Components            .classes["@mozilla.org/autocompleteSession;1?type=ldap"];        if (LDAPSession) {          try {            LDAPSession = LDAPSession.createInstance()                .QueryInterface(Components.interfaces.nsILDAPAutoCompleteSession);          } catch (ex) {dump ("ERROR: Cannot get the LDAP autocomplete session\n" + ex + "\n");}        }    }                if (autocompleteDirectory && !gIsOffline) {         // Add observer on the directory server we are autocompleting against        // only if current server is different from previous.        // Remove observer if current server is different from previous               gCurrentAutocompleteDirectory = autocompleteDirectory;        if (prevAutocompleteDirectory) {          if (prevAutocompleteDirectory != gCurrentAutocompleteDirectory) {             RemoveDirectorySettingsObserver(prevAutocompleteDirectory);            AddDirectorySettingsObserver();          }        }        else          AddDirectorySettingsObserver();                // fill in the session params if there is a session        //        if (LDAPSession) {            var serverURL = Components.classes[                "@mozilla.org/network/ldap-url;1"].                createInstance().QueryInterface(                    Components.interfaces.nsILDAPURL);            try {                serverURL.spec = sPrefs.getComplexValue(autocompleteDirectory +".uri",                                           Components.interfaces.nsISupportsString).data;            } catch (ex) {                dump("ERROR: " + ex + "\n");            }            LDAPSession.serverURL = serverURL;            // get the login to authenticate as, if there is one            //            var login = "";            try {                login = sPrefs.getComplexValue(                    autocompleteDirectory + ".auth.dn",                    Components.interfaces.nsISupportsString).data;            } catch (ex) {                // if we don't have this pref, no big deal            }            // set the LDAP protocol version correctly            var protocolVersion;            try {                 protocolVersion = sPrefs.getCharPref(autocompleteDirectory +                                                       ".protocolVersion");            } catch (ex) {                // if we don't have this pref, no big deal            }            if (protocolVersion == "2") {                LDAPSession.version =                     Components.interfaces.nsILDAPConnection.VERSION2;            }            // find out if we need to authenticate, and if so, tell the LDAP            // autocomplete session how to prompt for a password.  This window            // (the compose window) is being used to parent the authprompter.            //            LDAPSession.login = login;            if (login != "") {                var windowWatcherSvc = Components.classes[                    "@mozilla.org/embedcomp/window-watcher;1"]                    .getService(Components.interfaces.nsIWindowWatcher);                var domWin =                     window.QueryInterface(Components.interfaces.nsIDOMWindow);                var authPrompter =                     windowWatcherSvc.getNewAuthPrompter(domWin);                LDAPSession.authPrompter = authPrompter;            }            // don't search on non-CJK strings shorter than this            //            try {                 LDAPSession.minStringLength = sPrefs.getIntPref(                    autocompleteDirectory + ".autoComplete.minStringLength");            } catch (ex) {                // if this pref isn't there, no big deal.  just let                // nsLDAPAutoCompleteSession use its default.            }            // don't search on CJK strings shorter than this            //            try {                 LDAPSession.cjkMinStringLength = sPrefs.getIntPref(                  autocompleteDirectory + ".autoComplete.cjkMinStringLength");            } catch (ex) {                // if this pref isn't there, no big deal.  just let                // nsLDAPAutoCompleteSession use its default.            }            // we don't try/catch here, because if this fails, we're outta luck            //            var ldapFormatter = Components.classes[                "@mozilla.org/ldap-autocomplete-formatter;1?type=addrbook"]                .createInstance().QueryInterface(                    Components.interfaces.nsIAbLDAPAutoCompFormatter);            // override autocomplete name format?            //            try {                ldapFormatter.nameFormat =                     sPrefs.getComplexValue(autocompleteDirectory +                                       ".autoComplete.nameFormat",                                      Components.interfaces.nsISupportsString).data;            } catch (ex) {                // if this pref isn't there, no big deal.  just let                // nsAbLDAPAutoCompFormatter use its default.            }            // override autocomplete mail address format?            //            try {                ldapFormatter.addressFormat =                     sPrefs.getComplexValue(autocompleteDirectory +                                       ".autoComplete.addressFormat",                                      Components.interfaces.nsISupportsString).data;            } catch (ex) {                // if this pref isn't there, no big deal.  just let                // nsAbLDAPAutoCompFormatter use its default.            }            try {                // figure out what goes in the comment column, if anything                //                // 0 = none                // 1 = name of addressbook this card came from                // 2 = other per-addressbook format                //                var showComments = 0;                showComments = sPrefs.getIntPref(                    "mail.autoComplete.commentColumn");                switch (showComments) {                case 1:                    // use the name of this directory                    //                    ldapFormatter.commentFormat = sPrefs.getComplexValue(                                autocompleteDirectory + ".description",                                Components.interfaces.nsISupportsString).data;                    break;                case 2:                    // override ldap-specific autocomplete entry?                    //                    try {                        ldapFormatter.commentFormat =                             sPrefs.getComplexValue(autocompleteDirectory +                                         ".autoComplete.commentFormat",                                        Components.interfaces.nsISupportsString).data;                    } catch (innerException) {                        // if nothing has been specified, use the ldap                        // organization field                        ldapFormatter.commentFormat = "[o]";                    }                    break;                case 0:                default:                    // do nothing                }            } catch (ex) {                // if something went wrong while setting up comments, try and                // proceed anyway            }            // set the session's formatter, which also happens to            // force a call to the formatter's getAttributes() method            // -- which is why this needs to happen after we've set the            // various formats            //            LDAPSession.formatter = ldapFormatter;            // override autocomplete entry formatting?            //            try {                LDAPSession.outputFormat =                     sPrefs.getComplexValue(autocompleteDirectory +                                       ".autoComplete.outputFormat",                                      Components.interfaces.nsISupportsString).data;            } catch (ex) {                // if this pref isn't there, no big deal.  just let                // nsLDAPAutoCompleteSession use its default.            }            // override default search filter template?            //            try {                 LDAPSession.filterTemplate = sPrefs.getComplexValue(                    autocompleteDirectory + ".autoComplete.filterTemplate",                    Components.interfaces.nsISupportsString).data;            } catch (ex) {                // if this pref isn't there, no big deal.  just let                // nsLDAPAutoCompleteSession use its default            }            // override default maxHits (currently 100)            //            try {                 // XXXdmose should really use .autocomplete.maxHits,                // but there's no UI for that yet                //                 LDAPSession.maxHits =                     sPrefs.getIntPref(autocompleteDirectory + ".maxHits");            } catch (ex) {                // if this pref isn't there, or is out of range, no big deal.                 // just let nsLDAPAutoCompleteSession use its default.            }            if (!gSessionAdded) {                // if we make it here, we know that session initialization has                // succeeded; add the session for all recipients, and                 // remember that we've done so                var autoCompleteWidget;                for (i=1; i <= awGetMaxRecipients(); i++)                {                    autoCompleteWidget = document.getElementById("addressCol2#" + i);                    if (autoCompleteWidget)                    {                      autoCompleteWidget.addSession(LDAPSession);                      // ldap searches don't insert a default entry with the default domain appended to it                      // so reduce the minimum results for a popup to 2 in this case.                       autoCompleteWidget.minResultsForPopup = 2;                    }                 }                gSessionAdded = true;            }        }    } else {      if (gCurrentAutocompleteDirectory) {        // Remove observer on the directory server since we are not doing Ldap        // autocompletion.        RemoveDirectorySettingsObserver(gCurrentAutocompleteDirectory);        gCurrentAutocompleteDirectory = null;      }      if (gLDAPSession && gSessionAdded) {        for (i=1; i <= awGetMaxRecipients(); i++)           document.getElementById("addressCol2#" + i).              removeSession(gLDAPSession);        gSessionAdded = false;      }    }    gLDAPSession = LDAPSession;    gSetupLdapAutocomplete = true;}function DoCommandClose(){  var retVal;  if ((retVal = ComposeCanClose())) {    // Notify the SendListener that Send has been aborted and Stopped    if (gMsgCompose)    {      var externalListener = gMsgCompose.getExternalSendListener();      if (externalListener)      {        externalListener.onSendNotPerformed(null, Components.results.NS_ERROR_ABORT);      }    }    MsgComposeCloseWindow(true);    // at this point, we might be caching this window.    // in which case, we don't want to close it    if (sMsgComposeService.isCachedWindow(window)) {      retVal = false;    }  }  return retVal;}function DoCommandPrint(){  try {    NSPrint();  } catch(ex) {dump("#PRINT ERROR: " + ex + "\n");}}function ToggleWindowLock(){  gWindowLocked = !gWindowLocked;  updateComposeItems();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美制服另类| 日韩女同互慰一区二区| 欧美a级理论片| 中文字幕亚洲不卡| 久久精品日韩一区二区三区| 91麻豆自制传媒国产之光| 精品写真视频在线观看| 一区二区高清免费观看影视大全| 久久综合色天天久久综合图片| 欧美日韩日日骚| 欧美综合在线视频| 99国内精品久久| 成人小视频在线观看| 国产在线不卡一区| 久久99在线观看| 伦理电影国产精品| 日精品一区二区三区| 同产精品九九九| 丝袜诱惑制服诱惑色一区在线观看| 亚洲女性喷水在线观看一区| 欧美激情一区二区三区全黄| 久久久久99精品一区| 久久久www成人免费毛片麻豆 | 精品人在线二区三区| 欧美久久久久久久久中文字幕| 欧美在线综合视频| 欧美三区在线观看| 制服丝袜中文字幕亚洲| 欧美丰满少妇xxxxx高潮对白 | 国产精品羞羞答答xxdd| 国产一区二区h| 这里只有精品99re| 色呦呦国产精品| 久久黄色级2电影| 中文字幕第一页久久| 欧美日韩免费在线视频| 亚洲激情在线播放| 国产精品电影一区二区三区| 亚洲国产精品高清| 亚洲乱码国产乱码精品精小说| 亚洲免费在线播放| 亚洲电影一级黄| 激情五月婷婷综合网| av男人天堂一区| 日韩色在线观看| 国产精品不卡视频| 亚洲一区二区三区四区五区中文| 亚洲伊人色欲综合网| 国产激情视频一区二区在线观看| 色综合久久88色综合天天免费| 欧美一区二区视频网站| 中文字幕一区二区三区四区| 天天综合色天天综合色h| 国产成人综合亚洲网站| 欧美男生操女生| 国产精品久久久久影院色老大| 日韩高清在线不卡| 日本伦理一区二区| 亚洲欧洲日韩在线| 国产原创一区二区| 91精品国产综合久久蜜臀| 夜夜精品视频一区二区 | 亚洲欧美成人一区二区三区| 美国av一区二区| 欧美大白屁股肥臀xxxxxx| 亚洲一区二区三区四区五区中文| 97久久超碰国产精品| 国产日产欧美一区| 国产乱人伦偷精品视频不卡| 欧美精品一区二区高清在线观看| 亚洲第一搞黄网站| 欧美日韩国产免费| 同产精品九九九| 日韩免费一区二区| 国产一区二区三区电影在线观看 | 国产亚洲一区二区在线观看| 狠狠色丁香久久婷婷综合_中| 精品日本一线二线三线不卡| 美女网站色91| 久久精品夜色噜噜亚洲a∨| 精品一区二区三区在线视频| 久久欧美一区二区| 成人中文字幕在线| 日韩理论片中文av| 欧美丰满少妇xxxbbb| 久久99精品国产91久久来源| 久久综合色之久久综合| av一区二区三区四区| 一区二区三区中文免费| 3d成人动漫网站| 国产一区二区主播在线| 中文字幕在线观看不卡视频| 色播五月激情综合网| 免费一区二区视频| 自拍偷拍欧美精品| 日韩免费福利电影在线观看| 盗摄精品av一区二区三区| 亚洲制服欧美中文字幕中文字幕| 88在线观看91蜜桃国自产| 成人国产精品免费| 秋霞成人午夜伦在线观看| 国产精品美女一区二区三区| 欧美日韩久久一区二区| 粉嫩av一区二区三区在线播放 | 国产91精品入口| 久久亚洲私人国产精品va媚药| 一区二区三区中文字幕精品精品| 成人妖精视频yjsp地址| 欧美韩日一区二区三区四区| 激情综合一区二区三区| 欧美激情自拍偷拍| 日韩欧美成人午夜| 欧美亚洲一区二区在线观看| 丰满放荡岳乱妇91ww| 蜜桃免费网站一区二区三区| 亚洲女厕所小便bbb| 国产亲近乱来精品视频 | 欧美日韩国产天堂| 91久久精品网| 本田岬高潮一区二区三区| 男人操女人的视频在线观看欧美| 亚洲一区二区3| 亚洲欧洲日产国码二区| 久久久国产午夜精品| 久久这里只有精品6| 日韩精品中文字幕一区二区三区| 欧美日韩美女一区二区| 91国在线观看| 欧美浪妇xxxx高跟鞋交| 欧美吻胸吃奶大尺度电影| 欧美亚洲动漫精品| 欧美特级限制片免费在线观看| 色哟哟一区二区在线观看| 91免费精品国自产拍在线不卡| yourporn久久国产精品| 91在线视频官网| 色视频成人在线观看免| 欧美天天综合网| 日韩小视频在线观看专区| 久久综合九色综合欧美98| 国产精品久久综合| 亚洲一区二区三区四区在线 | 中文字幕一区二区三区四区不卡| 中文字幕在线一区免费| 亚洲一二三级电影| 国产制服丝袜一区| 99riav久久精品riav| 欧美日韩一区二区三区在线看 | 成人午夜碰碰视频| 欧美日韩国产在线播放网站| 久久色在线视频| 亚洲国产美女搞黄色| 国产成人精品亚洲午夜麻豆| 欧美三级中文字幕在线观看| 久久嫩草精品久久久精品| 午夜欧美电影在线观看| 亚洲色图色小说| 日本成人在线电影网| 色综合色综合色综合色综合色综合 | 亚洲色图.com| 成人a级免费电影| 日韩久久精品一区| 亚洲bt欧美bt精品| 色婷婷av久久久久久久| 中文幕一区二区三区久久蜜桃| 首页国产欧美久久| 精品视频在线看| 亚洲h在线观看| 欧美日韩的一区二区| 亚洲高清在线精品| 欧美自拍偷拍一区| 亚洲不卡在线观看| 在线播放日韩导航| 美女任你摸久久| 丁香网亚洲国际| 日韩精品一区二区三区中文不卡 | 国产亚洲欧美日韩俺去了| 精品国产亚洲在线| 三级影片在线观看欧美日韩一区二区 | 日韩小视频在线观看专区| 亚洲va在线va天堂| 日韩欧美一级精品久久| 看电视剧不卡顿的网站| 欧美mv和日韩mv国产网站| 精品写真视频在线观看| 欧美精品一区二区三区在线播放| 午夜精品久久久久久久99樱桃 | 国产日韩欧美麻豆| 国产iv一区二区三区| 亚洲视频一区二区在线| 欧美色爱综合网| 日韩—二三区免费观看av| 欧美一区三区二区| 高清不卡在线观看av| 久久久久久久久久美女| 国产乱人伦偷精品视频免下载| 国产精品久久久久久久裸模| 欧美三级电影精品| 国产a视频精品免费观看| 亚洲成人免费电影|