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

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

?? msghdrviewoverlay.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 5 頁
字號:
function ClearAttachmentMenu(popup) {   if ( popup )   {      while ( popup.childNodes[0].localName == 'menu' )       popup.removeChild(popup.childNodes[0]);   } }// Public method used to determine the number of attachments for the currently displayed message...function GetNumberOfAttachmentsForDisplayedMessage(){  return currentAttachments.length;}// private method used to build up a menu list of attachmentsfunction addAttachmentToPopup(popup, attachment, attachmentIndex) {   if (popup)  {     var item = document.createElement('menu');    if ( item )     {           if (!gMessengerBundle)        gMessengerBundle = document.getElementById("bundle_messenger");      // insert the item just before the separator...the separator is the 2nd to last element in the popup.      item.setAttribute('class', 'menu-iconic');      setApplicationIconForAttachment(attachment,item, false);            var numItemsInPopup = popup.childNodes.length;      // find the separator      var indexOfSeparator = 0;      while (popup.childNodes[indexOfSeparator].localName != 'menuseparator')        indexOfSeparator++;            var formattedDisplayNameString = gMessengerBundle.getFormattedString("attachmentDisplayNameFormat",                                       [attachmentIndex, attachment.displayName]);      item.setAttribute('label', formattedDisplayNameString);       item.setAttribute('accesskey', attachmentIndex);       // each attachment in the list gets its own menupopup with options for saving, deleting, detaching, etc.       var openpopup = document.createElement('menupopup');       openpopup = item.appendChild(openpopup);      // Due to Bug #314228, we must append our menupopup to the new attachment menu item      // before we inserting the attachment menu into the popup. If we don't, our attachment      // menu items will not show up.      item = popup.insertBefore(item, popup.childNodes[indexOfSeparator]);      var menuitementry = document.createElement('menuitem');      menuitementry.attachment = cloneAttachment(attachment);      menuitementry.setAttribute('oncommand', 'openAttachment(this.attachment)');      if (!gSaveLabel)        gSaveLabel = gMessengerBundle.getString("saveLabel");      if (!gSaveLabelAccesskey)        gSaveLabelAccesskey = gMessengerBundle.getString("saveLabelAccesskey");      if (!gOpenLabel)        gOpenLabel = gMessengerBundle.getString("openLabel");      if (!gOpenLabelAccesskey)        gOpenLabelAccesskey = gMessengerBundle.getString("openLabelAccesskey");      if (!gDetachLabel)        gDetachLabel = gMessengerBundle.getString("detachLabel");      if (!gDetachLabelAccesskey)        gDetachLabelAccesskey = gMessengerBundle.getString("detachLabelAccesskey");      if (!gDeleteLabel)        gDeleteLabel = gMessengerBundle.getString("deleteLabel");      if (!gDeleteLabelAccesskey)        gDeleteLabelAccesskey = gMessengerBundle.getString("deleteLabelAccesskey");      // we should also check if an attachment has been detached...      // but that uses X-Mozilla-External-Attachment-URL, which      // we'd need to check for somehow.      var signedOrEncrypted = false;      if ("content-type" in currentHeaderData)      {        var contentType = currentHeaderData["content-type"].headerValue;        signedOrEncrypted = contentType.indexOf("application/x-pkcs7-mime") >= 0 ||             contentType.indexOf("application/x-pkcs7-signature") >= 0;      }      var canDetach = !(/news-message:/.test(attachment.uri)) &&           !signedOrEncrypted &&          (!(/imap-message/.test(attachment.uri)) || MailOfflineMgr.isOnline());      menuitementry.setAttribute('label', gOpenLabel);       menuitementry.setAttribute('accesskey', gOpenLabelAccesskey);       menuitementry = openpopup.appendChild(menuitementry);      if (attachment.contentType == 'text/x-moz-deleted')        menuitementry.setAttribute('disabled', true);       var menuseparator = document.createElement('menuseparator');      openpopup.appendChild(menuseparator);            menuitementry = document.createElement('menuitem');      menuitementry.attachment = cloneAttachment(attachment);      menuitementry.setAttribute('oncommand', 'saveAttachment(this.attachment)');       menuitementry.setAttribute('label', gSaveLabel);       menuitementry.setAttribute('accesskey', gSaveLabelAccesskey);       if (attachment.contentType == 'text/x-moz-deleted')        menuitementry.setAttribute('disabled', true);       menuitementry = openpopup.appendChild(menuitementry);      var menuseparator = document.createElement('menuseparator');      openpopup.appendChild(menuseparator);      menuitementry = document.createElement('menuitem');      menuitementry.attachment = cloneAttachment(attachment);      menuitementry.setAttribute('oncommand', 'detachAttachment(this.attachment, true)');       menuitementry.setAttribute('label', gDetachLabel);       menuitementry.setAttribute('accesskey', gDetachLabelAccesskey);       if (attachment.contentType == 'text/x-moz-deleted' || !canDetach)        menuitementry.setAttribute('disabled', true);       menuitementry = openpopup.appendChild(menuitementry);      menuitementry = document.createElement('menuitem');      menuitementry.attachment = cloneAttachment(attachment);      menuitementry.setAttribute('oncommand', 'detachAttachment(this.attachment, false)');       menuitementry.setAttribute('label', gDeleteLabel);       menuitementry.setAttribute('accesskey', gDeleteLabelAccesskey);       if (attachment.contentType == 'text/x-moz-deleted' || !canDetach)        menuitementry.setAttribute('disabled', true);       menuitementry = openpopup.appendChild(menuitementry);    }  // if we created a menu item for this attachment...  } // if we have a popup} function HandleAllAttachments(action){ try  {   // convert our attachment data into some c++ friendly structs   var attachmentContentTypeArray = new Array();   var attachmentUrlArray = new Array();   var attachmentDisplayNameArray = new Array();   var attachmentMessageUriArray = new Array();   // populate these arrays..   var actionIndex = 0;   for (index in currentAttachments)   {     // exclude all attachments already deleted     var attachment = currentAttachments[index];     if ( attachment.contentType != 'text/x-moz-deleted' )     {       attachmentContentTypeArray[actionIndex] = attachment.contentType;       attachmentUrlArray[actionIndex] = attachment.url;       attachmentDisplayNameArray[actionIndex] = encodeURI(attachment.displayName);       attachmentMessageUriArray[actionIndex] = attachment.uri;       ++actionIndex;     }   }   // okay the list has been built... now call our action code...   if ( action == 'save' )     messenger.saveAllAttachments(attachmentContentTypeArray.length,                                  attachmentContentTypeArray, attachmentUrlArray,                                  attachmentDisplayNameArray, attachmentMessageUriArray);   else if ( action == 'detach' )     messenger.detachAllAttachments(attachmentContentTypeArray.length,                                    attachmentContentTypeArray, attachmentUrlArray,                                    attachmentDisplayNameArray, attachmentMessageUriArray,                                    true); // save   else if ( action == 'delete' )     messenger.detachAllAttachments(attachmentContentTypeArray.length,                                    attachmentContentTypeArray, attachmentUrlArray,                                    attachmentDisplayNameArray, attachmentMessageUriArray,                                    false); // don't save   else     dump ("** unknown HandleAllAttachments action: " + action + "**\n");   }   catch (ex)   {   dump ("** failed to handle all attachments **\n");   }}function ClearAttachmentList() {   // we also have to disable the File/Attachments menuitem  node = document.getElementById("fileAttachmentMenu");  if (node)    node.setAttribute("disabled", "true");  // clear selection  var list = document.getElementById('attachmentList');  while (list.hasChildNodes())     list.removeChild(list.lastChild);}function ShowEditMessageButton() {  // it would be nice if we passed in the msgHdr from the back end  var msgHdr;  try  {    msgHdr = gDBView.hdrForFirstSelectedMessage;  }  catch (ex)  {    return;  }  if (IsSpecialFolder(msgHdr.folder, MSG_FOLDER_FLAG_DRAFTS, true))    document.getElementById("editMessageBox").collapsed = false;} function ClearEditMessageButton() {   var editBox = document.getElementById("editMessageBox");  if (editBox)    editBox.collapsed = true;}// CopyWebsiteAddress takes the website address title button, extracts// the website address we stored in there and copies it to the clipboardfunction CopyWebsiteAddress(websiteAddressNode){  if (websiteAddressNode)  {    var websiteAddress = websiteAddressNode.getAttribute("value");    var contractid = "@mozilla.org/widget/clipboardhelper;1";    var iid = Components.interfaces.nsIClipboardHelper;    var clipboard = Components.classes[contractid].getService(iid);    clipboard.copyString(websiteAddress);  }}var attachmentAreaDNDObserver = {  onDragStart: function (aEvent, aAttachmentData, aDragAction)  {    var target = aEvent.target;    if (target.localName == "descriptionitem")    {      var attachmentUrl = target.getAttribute("attachmentUrl");      var attachmentDisplayName = target.getAttribute("label");      var attachmentContentType = target.getAttribute("attachmentContentType");      var tmpurl = attachmentUrl;      var tmpurlWithExtraInfo = tmpurl + "&type=" + attachmentContentType + "&filename=" + attachmentDisplayName;      aAttachmentData.data = new TransferData();      if (attachmentUrl && attachmentDisplayName)      {        aAttachmentData.data.addDataForFlavour("text/x-moz-url", tmpurlWithExtraInfo + "\n" + attachmentDisplayName);        aAttachmentData.data.addDataForFlavour("text/x-moz-url-data", tmpurl);        aAttachmentData.data.addDataForFlavour("text/x-moz-url-desc", attachmentDisplayName);                aAttachmentData.data.addDataForFlavour("application/x-moz-file-promise-url", tmpurl);           aAttachmentData.data.addDataForFlavour("application/x-moz-file-promise", new nsFlavorDataProvider(), 0, Components.interfaces.nsISupports);        }    }  }};function nsFlavorDataProvider(){}nsFlavorDataProvider.prototype ={  QueryInterface : function(iid)  {      if (iid.equals(Components.interfaces.nsIFlavorDataProvider) ||          iid.equals(Components.interfaces.nsISupports))        return this;      throw Components.results.NS_NOINTERFACE;  },    getFlavorData : function(aTransferable, aFlavor, aData, aDataLen)  {    // get the url for the attachment    if (aFlavor == "application/x-moz-file-promise")    {      var urlPrimitive = { };      var dataSize = { };      aTransferable.getTransferData("application/x-moz-file-promise-url", urlPrimitive, dataSize);      var srcUrlPrimitive = urlPrimitive.value.QueryInterface(Components.interfaces.nsISupportsString);      // now get the destination file location from kFilePromiseDirectoryMime      var dirPrimitive = {};      aTransferable.getTransferData("application/x-moz-file-promise-dir", dirPrimitive, dataSize);      var destDirectory = dirPrimitive.value.QueryInterface(Components.interfaces.nsILocalFile);      // now save the attachment to the specified location      // XXX: we need more information than just the attachment url to save it, fortunately, we have an array      // of all the current attachments so we can cheat and scan through them      var attachment = null;      for (index in currentAttachments)      {        attachment = currentAttachments[index];        if (attachment.url == srcUrlPrimitive)          break;      }      // call our code for saving attachments      if (attachment)      {        var destFilePath = messenger.saveAttachmentToFolder(attachment.contentType, attachment.url, encodeURIComponent(attachment.displayName), attachment.uri, destDirectory);        aData.value = destFilePath.QueryInterface(Components.interfaces.nsISupports);        aDataLen.value = 4;      }    }  }}function nsDummyMsgHeader(){}nsDummyMsgHeader.prototype ={  mProperties : new Array,  getStringProperty : function(property) {return this.mProperties[property];},  setStringProperty : function(property, val) {this.mProperties[property] = val;},  messageSize : 0,  recipients : null,  from : null,  subject : null,  ccList : null,  messageId : null,  accountKey : "",  folder : null};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日摸夜夜添夜夜添精品视频| 91成人在线免费观看| av午夜精品一区二区三区| 欧美日韩精品专区| 国产精品污www在线观看| 蜜桃在线一区二区三区| 欧美自拍丝袜亚洲| 中文字幕精品一区二区精品绿巨人| 青青国产91久久久久久| 欧美性高清videossexo| 中文字幕一区免费在线观看| 国产麻豆精品一区二区| 日韩一区二区免费在线电影| 三级一区在线视频先锋 | 在线视频国产一区| 国产精品免费视频网站| 久久精品久久精品| 51精品秘密在线观看| 亚洲成人黄色小说| 91久久免费观看| 亚洲精品国产a| 91美女片黄在线观看| 国产精品人成在线观看免费 | 精品在线观看视频| 欧美一级高清片| 日本不卡在线视频| 91精品国产综合久久蜜臀| 亚洲午夜三级在线| 欧美美女喷水视频| 视频一区二区三区在线| 日韩一级完整毛片| 国产精品996| 国产精品乱人伦| 99re热这里只有精品视频| 亚洲精品一卡二卡| 欧美日韩一级大片网址| 视频一区二区三区在线| 日韩精品一区二区三区视频播放| 美女网站在线免费欧美精品| 日韩欧美一二三区| 国产成人av资源| 综合激情成人伊人| 欧美三级电影网站| 麻豆精品久久精品色综合| 精品国产1区2区3区| 国产91高潮流白浆在线麻豆| 中文字幕在线观看不卡| 在线看日本不卡| 美女久久久精品| 日本一区二区三级电影在线观看| 99久久精品国产精品久久 | 国产精品灌醉下药二区| 色综合久久综合网欧美综合网| 亚洲图片有声小说| 精品动漫一区二区三区在线观看| 成人性生交大片免费看中文| 亚洲永久精品国产| 久久久久久麻豆| 色999日韩国产欧美一区二区| 日韩电影免费在线看| 国产精品亲子伦对白| 欧美色爱综合网| 国产91精品露脸国语对白| 亚洲永久免费视频| 久久精品亚洲国产奇米99| 91久久精品午夜一区二区| 九九热在线视频观看这里只有精品| 亚洲国产精品传媒在线观看| 欧美特级限制片免费在线观看| 经典三级一区二区| 亚洲资源中文字幕| 中文字幕av资源一区| 欧美一区二区三区在| 91首页免费视频| 精品亚洲成a人| 亚洲电影一级黄| 国产农村妇女精品| 日韩美女视频在线| 欧美自拍偷拍一区| 成人91在线观看| 久久精品99久久久| 亚洲国产成人tv| 国产精品久久国产精麻豆99网站| 5月丁香婷婷综合| 一本一本久久a久久精品综合麻豆| 久久超碰97中文字幕| 亚洲成人免费视| 亚洲欧美日韩一区| 久久久久久久久久久99999| 欧美日本视频在线| 欧美图片一区二区三区| 97久久精品人人做人人爽| 激情伊人五月天久久综合| 丝瓜av网站精品一区二区| 一区二区在线观看免费| 国产精品久久久久久久久免费相片 | 欧美一区二区三区日韩| 色综合久久久久综合体桃花网| 国产激情视频一区二区在线观看 | 午夜成人免费视频| 亚洲三级免费观看| 国产精品青草久久| 久久久久久久久久久久久女国产乱| 91精品国产麻豆国产自产在线| 在线观看不卡一区| 一本久道久久综合中文字幕| 不卡av在线免费观看| 成人在线综合网| 风流少妇一区二区| 丰满少妇在线播放bd日韩电影| 国产一区二区调教| 顶级嫩模精品视频在线看| 精品亚洲porn| 国产成人午夜视频| 高清视频一区二区| 成人精品鲁一区一区二区| 成人精品在线视频观看| 99这里只有久久精品视频| 91一区在线观看| 日本道色综合久久| 欧美日韩大陆一区二区| 欧美一级在线视频| 国产三级精品视频| 亚洲女同ⅹxx女同tv| 亚洲一区二区三区视频在线 | 欧美不卡一区二区| 久久久高清一区二区三区| 国产精品久久久久9999吃药| 亚洲成人动漫在线免费观看| 日韩在线一区二区三区| 日韩av不卡一区二区| 狠狠色综合日日| eeuss鲁片一区二区三区在线观看| k8久久久一区二区三区 | 色94色欧美sute亚洲线路一ni | 精品国产乱码久久久久久久久| 精品国产一区二区三区av性色| 久久久美女艺术照精彩视频福利播放| 26uuu国产在线精品一区二区| 欧美国产日韩亚洲一区| 一区二区三区在线观看视频 | 99国产欧美久久久精品| 欧美日韩国产一区二区三区地区| 日韩欧美国产小视频| 亚洲国产精品激情在线观看| 亚洲国产aⅴ天堂久久| 久久国产精品72免费观看| 成人少妇影院yyyy| 911国产精品| 中文字幕乱码日本亚洲一区二区| 亚洲成人激情自拍| 国产91丝袜在线播放0| 欧美日本在线看| 国产精品人人做人人爽人人添| 五月天中文字幕一区二区| 激情深爱一区二区| 欧美日韩亚洲国产综合| 国产调教视频一区| 午夜伦欧美伦电影理论片| 成人网页在线观看| 欧美一区二区在线播放| 国产精品白丝在线| 黑人巨大精品欧美一区| 欧美性极品少妇| 国产精品美女久久久久久久久久久 | 午夜伦欧美伦电影理论片| 高清不卡一区二区在线| 91精品国产91热久久久做人人 | 3atv一区二区三区| 亚洲天堂久久久久久久| 黄一区二区三区| 欧美日产国产精品| 一区二区三区色| 99久久精品国产麻豆演员表| 精品国产凹凸成av人导航| 日韩精品乱码免费| 欧美偷拍一区二区| 亚洲码国产岛国毛片在线| 国产精品18久久久久久vr| 欧美一二三四在线| 婷婷中文字幕一区三区| 色视频一区二区| 亚洲视频小说图片| 91香蕉视频mp4| 国产精品欧美精品| 国产成+人+日韩+欧美+亚洲| 2021国产精品久久精品| 欧美日韩成人综合| 亚洲一区二区三区在线看| 色婷婷亚洲一区二区三区| 亚洲欧洲99久久| 99riav久久精品riav| 亚洲免费高清视频在线| 91亚洲永久精品| 亚洲精品日韩专区silk| 色噜噜狠狠色综合中国| 亚洲国产一区二区在线播放| 欧美网站大全在线观看| 天天av天天翘天天综合网色鬼国产 | 中文在线免费一区三区高中清不卡|