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

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

?? mailcommands.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
                    {preselectedURI:preselectedURI,                      okCallback:SubscribeOKCallback});}function SubscribeOKCallback(changeTable){  for (var serverURI in changeTable) {    var folder = GetMsgFolderFromUri(serverURI, true);    var server = folder.server;    var subscribableServer =          server.QueryInterface(Components.interfaces.nsISubscribableServer);    for (var name in changeTable[serverURI]) {      if (changeTable[serverURI][name] == true) {        try {          subscribableServer.subscribe(name);        }        catch (ex) {          dump("failed to subscribe to " + name + ": " + ex + "\n");        }      }      else if (changeTable[serverURI][name] == false) {        try {          subscribableServer.unsubscribe(name);        }        catch (ex) {          dump("failed to unsubscribe to " + name + ": " + ex + "\n");        }      }      else {        // no change      }    }    try {      subscribableServer.commitSubscribeChanges();    }    catch (ex) {      dump("failed to commit the changes: " + ex + "\n");    }  }}function SaveAsFile(uri){  if (uri) {    var filename = null;    try {      var subject = messenger.messageServiceFromURI(uri)                             .messageURIToMsgHdr(uri).mime2DecodedSubject;      filename = GenerateValidFilename(subject, ".eml");    }    catch (ex) {}    messenger.saveAs(uri, true, null, filename);  }}function SaveAsTemplate(uri, folder){  if (uri) {    var identity = getIdentityForServer(folder.server);    messenger.saveAs(uri, false, identity, null);  }}function MarkSelectedMessagesRead(markRead){  ClearPendingReadTimer();  gDBView.doCommand(markRead ? nsMsgViewCommandType.markMessagesRead : nsMsgViewCommandType.markMessagesUnread);}function MarkSelectedMessagesFlagged(markFlagged){  gDBView.doCommand(markFlagged ? nsMsgViewCommandType.flagMessages : nsMsgViewCommandType.unflagMessages);}function MarkAllMessagesRead(compositeDataSource, folder){  var folderResource = folder.QueryInterface(Components.interfaces.nsIRDFResource);  var folderArray = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);  folderArray.AppendElement(folderResource);  DoRDFCommand(compositeDataSource, "http://home.netscape.com/NC-rdf#MarkAllMessagesRead", folderArray, null);}function DownloadFlaggedMessages(compositeDataSource, folder){    dump("fix DownloadFlaggedMessages()\n");}function DownloadSelectedMessages(compositeDataSource, messages, markFlagged){    dump("fix DownloadSelectedMessages()\n");}function ViewPageSource(messages){  var numMessages = messages.length;  if (numMessages == 0)  {    dump("MsgViewPageSource(): No messages selected.\n");    return false;  }    try {        // First, get the mail session        const mailSessionContractID = "@mozilla.org/messenger/services/session;1";        const nsIMsgMailSession = Components.interfaces.nsIMsgMailSession;        var mailSession = Components.classes[mailSessionContractID].getService(nsIMsgMailSession);        var mailCharacterSet = "charset=" + msgWindow.mailCharacterSet;        for (var i = 0; i < numMessages; i++)        {            // Now, we need to get a URL from a URI            var url = mailSession.ConvertMsgURIToMsgURL(messages[i], msgWindow);            window.openDialog( "chrome://global/content/viewSource.xul",                               "_blank",                               "scrollbars,resizable,chrome,dialog=no",                               url,                               mailCharacterSet);        }        return true;    } catch (e) {        // Couldn't get mail session        return false;    }}function doHelpButton(){    openHelp("mail-offline-items");}// XXX The following junkmail code might be going away or changingconst NS_BAYESIANFILTER_CONTRACTID = "@mozilla.org/messenger/filter-plugin;1?name=bayesianfilter";const nsIJunkMailPlugin = Components.interfaces.nsIJunkMailPlugin;const nsIMsgDBHdr = Components.interfaces.nsIMsgDBHdr;var gJunkmailComponent;var gJunkKeys = [];var gJunkTargetFolder;function saveJunkMsgForAction(aServer, aMsgURI, aClassification){  // we only care when the message gets marked as junk  if (aClassification == nsIJunkMailPlugin.GOOD)    return;  var spamSettings = aServer.spamSettings  // if the spam feature is disabled,  // or if the move functionality is turned off, bail out.  // the user could still run the JMC manually,  // but let's not move in that scenario  if (!spamSettings.level || !spamSettings.moveOnSpam)    return;  var msgHdr = messenger.messageServiceFromURI(aMsgURI).messageURIToMsgHdr(aMsgURI);  // don't move if we are already in the junk folder  if (msgHdr.folder.flags & MSG_FOLDER_FLAG_JUNK)    return;  var spamFolderURI = spamSettings.spamFolderURI;  if (!spamFolderURI)    return;  var spamFolder = GetMsgFolderFromUri(spamFolderURI);  if (spamFolder)  {    gJunkKeys[gJunkKeys.length] = msgHdr.messageKey;    gJunkTargetFolder = spamFolder;  }}function performActionOnJunkMsgs(){  if (!gJunkKeys.length)  {    gJunkTargetFolder = [];    return;  }  var indices = new Array(gJunkKeys.length);  for (var i=0;i<gJunkKeys.length;i++)    indices[i] = gDBView.findIndexFromKey(gJunkKeys[i], true /* expand */);  var treeView = gDBView.QueryInterface(Components.interfaces.nsITreeView);  var treeSelection = treeView.selection;  treeSelection.clearSelection();  // select the messages  for (i=0;i<indices.length;i++)    treeSelection.rangedSelect(indices[i], indices[i], true /* augment */);  SetNextMessageAfterDelete();  gDBView.doCommandWithFolder(nsMsgViewCommandType.moveMessages, gJunkTargetFolder);  gJunkKeys = [];  gJunkTargetFolder = null;}function getJunkmailComponent(){  if (!gJunkmailComponent) {    gJunkmailComponent = Components.classes[NS_BAYESIANFILTER_CONTRACTID].getService(nsIJunkMailPlugin);  }}function analyze(aMsgHdr, aNextFunction){    var listener = {        onMessageClassified: function(aMsgURI, aClassification)        {            // XXX TODO            // update status bar, or a progress dialog            // running junk mail controls manually, on a large folder            // can take a while, and the user doesn't know when we are done.            dump(aMsgURI + ' is '                 + (aClassification == nsIJunkMailPlugin.JUNK                    ? 'JUNK' : 'GOOD') + '\n');            // XXX TODO, make the cut off 50, like in nsMsgSearchTerm.cpp            var score =                aClassification == nsIJunkMailPlugin.JUNK ? "100" : "0";            // set these props via the db (instead of the message header            // directly) so that the nsMsgDBView knows to update the UI            //            var db = aMsgHdr.folder.getMsgDatabase(msgWindow);            db.setStringProperty(aMsgHdr.messageKey, "junkscore", score);            db.setStringProperty(aMsgHdr.messageKey, "junkscoreorigin",                                 "plugin");            saveJunkMsgForAction(aMsgHdr.folder.server, aMsgURI, aClassification);            aNextFunction();        }    };    // if we are whitelisting, check if the email address is in the whitelist addressbook.    var spamSettings = aMsgHdr.folder.server.spamSettings;    if (spamSettings.useWhiteList && spamSettings.whiteListAbURI)    {      var whiteListDirectory = RDF.GetResource(spamSettings.whiteListAbURI).QueryInterface(Components.interfaces.nsIAbMDBDirectory);      var headerParser = Components.classes["@mozilla.org/messenger/headerparser;1"].getService(Components.interfaces.nsIMsgHeaderParser);      var authorEmailAddress = headerParser.extractHeaderAddressMailboxes(null, aMsgHdr.author);      if (whiteListDirectory.hasCardForEmailAddress(authorEmailAddress))      {        // skip over this message, like we do on incoming mail        // the difference is it could be marked as junk from previous analysis        // or from being manually marked by the user.        aNextFunction();        return;      }    }    var messageURI = aMsgHdr.folder.generateMessageURI(aMsgHdr.messageKey)        + "?fetchCompleteMessage=true";    gJunkmailComponent.classifyMessage(messageURI, msgWindow, listener);}function analyzeFolderForJunk(){  MsgJunkMailInfo(true);  var view = GetDBView();  // need to expand all threads, so we analyze everything  view.doCommand(nsMsgViewCommandType.expandAll);  var treeView = view.QueryInterface(Components.interfaces.nsITreeView);  var count = treeView.rowCount;  if (!count)    return;  var messages = new Array(count)  for (var i = 0; i < count; i++) {    try    {      messages[i] = view.getURIForViewIndex(i);    }    catch (ex) {} // blow off errors here - dummy headers will fail  }  analyzeMessages(messages);}// not used yet, but soonfunction analyzeMessagesForJunk(){  var messages = GetSelectedMessages();  analyzeMessages(messages);}function analyzeMessages(messages){  function processNext()  {    if (counter < messages.length)    {      var messageUri = messages[counter];      var message = messenger.messageServiceFromURI(messageUri).messageURIToMsgHdr(messageUri);      ++counter;      analyze(message, processNext);     }     else       performActionOnJunkMsgs();  }  getJunkmailComponent();  var counter = 0;  processNext();}function JunkSelectedMessages(setAsJunk){  MsgJunkMailInfo(true);  // When the user explicitly marks a message as junk, we can mark it as read,  // too. This is independent of the "markAsReadOnSpam" pref, which applies  // only to automatically-classified messages.  // Note that this behaviour should match the one in the back end for marking  // as junk via clicking the 'junk' column.  if (setAsJunk && pref.getBoolPref("mailnews.ui.junk.manualMarkAsJunkMarksRead"))    MarkSelectedMessagesRead(true);  gDBView.doCommand(setAsJunk ? nsMsgViewCommandType.junk                              : nsMsgViewCommandType.unjunk);}function deleteJunkInFolder(){  MsgJunkMailInfo(true);  var view = GetDBView();  // need to expand all threads, so we find everything  view.doCommand(nsMsgViewCommandType.expandAll);  var treeView = view.QueryInterface(Components.interfaces.nsITreeView);  var count = treeView.rowCount;  if (!count)    return;  var treeSelection = treeView.selection;  var clearedSelection = false;  // select the junk messages  var messageUri;  for (var i = 0; i < count; ++i)  {    try {      messageUri = view.getURIForViewIndex(i);    }    catch (ex) {continue;} // blow off errors for dummy rows    var msgHdr = messenger.messageServiceFromURI(messageUri).messageURIToMsgHdr(messageUri);    var junkScore = msgHdr.getStringProperty("junkscore");    var isJunk = ((junkScore != "") && (junkScore != "0"));    // if the message is junk, select it.    if (isJunk)    {      // only do this once      if (!clearedSelection)      {        // clear the current selection        // since we will be deleting all selected messages        treeSelection.clearSelection();        clearedSelection = true;        treeSelection.selectEventsSuppressed = true;      }      treeSelection.rangedSelect(i, i, true /* augment */);    }  }  // if we didn't clear the selection  // there was no junk, so bail.  if (!clearedSelection)    return;  treeSelection.selectEventsSuppressed = false;  // delete the selected messages  //  // XXX todo  // Should we try to set next message after delete  // to the message selected before we did all this, if it was not junk?  SetNextMessageAfterDelete();  view.doCommand(nsMsgViewCommandType.deleteMsg);  treeSelection.clearSelection();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本一区二区| 久久久高清一区二区三区| 国产一区欧美一区| 一区二区三区四区蜜桃| 精品国产伦一区二区三区观看方式| 91蜜桃传媒精品久久久一区二区| 日韩av电影免费观看高清完整版 | 久久国产麻豆精品| 中文字幕一区二区日韩精品绯色| 在线不卡一区二区| www.欧美色图| 国产精品资源在线看| 日本成人在线电影网| 亚洲男人的天堂在线aⅴ视频| 欧美精品一区二区三区在线播放| 欧美性大战久久久久久久蜜臀 | 亚洲18色成人| 亚洲欧洲日韩综合一区二区| 精品乱人伦小说| 欧美久久一区二区| 在线国产亚洲欧美| 91麻豆免费在线观看| 国产成人av福利| 久久99国产精品免费| 日精品一区二区三区| 亚洲黄色小视频| 亚洲欧美一区二区三区极速播放| 国产视频一区二区三区在线观看| 欧美刺激午夜性久久久久久久| 欧美日韩视频在线第一区| 日本道在线观看一区二区| 91在线一区二区三区| 成人黄色在线视频| 国产成人在线视频网址| 国产传媒久久文化传媒| 国产麻豆成人传媒免费观看| 国内精品国产三级国产a久久| 蜜臀a∨国产成人精品| 青青草国产精品亚洲专区无| 婷婷开心久久网| 日韩精品一级二级| 蜜臀av性久久久久蜜臀av麻豆| 美女网站色91| 国产综合久久久久久久久久久久| 久久99国产精品尤物| 国产一区二三区好的| 国产成人在线电影| 国产91清纯白嫩初高中在线观看| 国产一区二区三区高清播放| 国产成人av一区二区| 不卡的电影网站| 91麻豆视频网站| 欧美日韩免费一区二区三区 | 成人午夜又粗又硬又大| 成人免费视频免费观看| 成人不卡免费av| 99vv1com这只有精品| 欧美性感一类影片在线播放| 91精品欧美一区二区三区综合在 | 成人av网址在线观看| 91啦中文在线观看| 欧美性生活大片视频| 91精品国产一区二区| 亚洲精品一区二区在线观看| 中文字幕乱码久久午夜不卡| 日本va欧美va瓶| 国产美女一区二区三区| 99久久精品99国产精品| 欧美日韩国产美| 精品国产凹凸成av人导航| 中文字幕 久热精品 视频在线| 中文字幕一区二区三区不卡| 婷婷一区二区三区| 国产乱理伦片在线观看夜一区| 91亚洲男人天堂| 欧美一区中文字幕| 国产欧美综合色| 亚洲精品成人在线| 麻豆成人91精品二区三区| 成人深夜视频在线观看| 欧美日韩五月天| 久久久99精品久久| 亚洲成人免费电影| 风间由美一区二区三区在线观看 | 狠狠色丁香九九婷婷综合五月 | 精品久久国产97色综合| 亚洲卡通欧美制服中文| 免费高清视频精品| 91啪亚洲精品| 日韩精品一区二区三区在线观看 | 激情六月婷婷久久| 一道本成人在线| 26uuu国产日韩综合| 亚洲电影一级片| 成人美女视频在线观看| 8v天堂国产在线一区二区| 国产精品久久免费看| 美腿丝袜一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 亚洲女人****多毛耸耸8| 美日韩一区二区三区| 91在线国内视频| xfplay精品久久| 日韩成人一区二区| 一本一道波多野结衣一区二区| wwwwww.欧美系列| 亚洲成av人**亚洲成av**| 99久久精品费精品国产一区二区| 日韩精品一区在线观看| 亚洲综合在线电影| 成人a免费在线看| 精品盗摄一区二区三区| 丝袜亚洲另类欧美| 在线观看免费亚洲| 亚洲视频免费看| 不卡高清视频专区| 国产日韩成人精品| 国产一区二区三区四| 国产精品色在线观看| 精品在线一区二区| 在线电影欧美成精品| 亚洲综合一区二区| 一本色道久久综合亚洲精品按摩| 国产丝袜在线精品| 国产高清久久久久| xvideos.蜜桃一区二区| 卡一卡二国产精品| 日韩精品一区二区三区三区免费| 日韩经典中文字幕一区| 欧美疯狂性受xxxxx喷水图片| 亚洲精品久久7777| 91麻豆国产在线观看| 亚洲免费观看视频| 色美美综合视频| 亚洲精品精品亚洲| 欧美亚洲国产怡红院影院| 一区二区在线观看视频| 色国产精品一区在线观看| 夜夜嗨av一区二区三区| 色哟哟国产精品| 亚洲综合丁香婷婷六月香| 欧美丝袜丝nylons| 亚洲高清免费观看高清完整版在线观看 | 欧美人与性动xxxx| 午夜成人免费电影| 欧美一区二区三区白人| 美国精品在线观看| 欧美精品一区在线观看| 国产精品白丝av| 日本一区二区成人| 91麻豆视频网站| 亚洲一区二区三区在线播放| 777午夜精品免费视频| 久久精品噜噜噜成人av农村| 2023国产一二三区日本精品2022| 国产精品1024| 日韩理论电影院| 欧美三级视频在线| 久久成人羞羞网站| 国产精品久久久一本精品| 色偷偷久久人人79超碰人人澡| 亚洲一区二区偷拍精品| 91精品国产91久久综合桃花| 国产精品69久久久久水密桃| 亚洲欧美日韩国产综合| 欧美另类变人与禽xxxxx| 久久er99精品| 国产精品福利影院| 欧美日韩精品高清| 国产在线精品一区二区| 中文字幕日韩av资源站| 7777精品伊人久久久大香线蕉完整版| 色婷婷综合久久久中文一区二区| 亚洲成人黄色影院| 久久久午夜精品理论片中文字幕| 色综合一个色综合亚洲| 男女性色大片免费观看一区二区 | 天天av天天翘天天综合网色鬼国产| 欧美tk—视频vk| 99精品国产99久久久久久白柏| 日韩成人精品在线观看| 中文字幕第一区| 欧美精品1区2区| 成人网男人的天堂| 奇米影视在线99精品| 亚洲视频狠狠干| 日韩精品一区二区三区四区 | 国产最新精品精品你懂的| 一区二区三区在线免费观看| 欧美精品一区二区不卡| 91精品福利在线| 麻豆国产91在线播放| 一区二区在线看| 国产亚洲短视频| 欧美日韩二区三区| 成人爱爱电影网址| 韩日精品视频一区| 午夜视频在线观看一区| 中文字幕一区二区三| 久久久综合网站|