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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? addressingwidgetoverlay.js

?? 現(xiàn)在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
# -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-# ***** BEGIN LICENSE BLOCK *****# Version: MPL 1.1/GPL 2.0/LGPL 2.1## The contents of this file are subject to the Mozilla Public License Version# 1.1 (the "License"); you may not use this file except in compliance with# the License. You may obtain a copy of the License at# http://www.mozilla.org/MPL/## Software distributed under the License is distributed on an "AS IS" basis,# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License# for the specific language governing rights and limitations under the# License.## The Original Code is Mozilla Communicator client code, released# March 31, 1998.## The Initial Developer of the Original Code is# Netscape Communications Corporation.# Portions created by the Initial Developer are Copyright (C) 1998-1999# the Initial Developer. All Rights Reserved.## Contributor(s):## Alternatively, the contents of this file may be used under the terms of# either the GNU General Public License Version 2 or later (the "GPL"), or# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),# in which case the provisions of the GPL or the LGPL are applicable instead# of those above. If you wish to allow use of your version of this file only# under the terms of either the GPL or the LGPL, and not to allow others to# use your version of this file under the terms of the MPL, indicate your# decision by deleting the provisions above and replace them with the notice# and other provisions required by the GPL or the LGPL. If you do not delete# the provisions above, a recipient may use your version of this file under# the terms of any one of the MPL, the GPL or the LGPL.## ***** END LICENSE BLOCK *****top.MAX_RECIPIENTS = 0;var inputElementType = "";var selectElementType = "";var selectElementIndexTable = null;var gNumberOfCols = 0;var gDragService = Components.classes["@mozilla.org/widget/dragservice;1"].getService();gDragService = gDragService.QueryInterface(Components.interfaces.nsIDragService);var gMimeHeaderParser = null;var test_addresses_sequence = false;try {  if (sPrefs)    test_addresses_sequence = sPrefs.getBoolPref("mail.debug.test_addresses_sequence");}catch (ex) {}function awGetMaxRecipients(){  return top.MAX_RECIPIENTS;}function awGetNumberOfCols(){  if (gNumberOfCols == 0)  {    var listbox = document.getElementById('addressingWidget');    var listCols = listbox.getElementsByTagName('listcol');    gNumberOfCols = listCols.length;    if (!gNumberOfCols)      gNumberOfCols = 1;  /* if no cols defined, that means we have only one! */  }  return gNumberOfCols;}function awInputElementName(){  if (inputElementType == "")    inputElementType = document.getElementById("addressCol2#1").localName;  return inputElementType;}function awSelectElementName(){  if (selectElementType == "")      selectElementType = document.getElementById("addressCol1#1").localName;  return selectElementType;}// TODO: replace awGetSelectItemIndex with recipient type index constantsfunction awGetSelectItemIndex(itemData){  if (selectElementIndexTable == null)  {    selectElementIndexTable = new Object();    var selectElem = document.getElementById("addressCol1#1");    for (var i = 0; i < selectElem.childNodes[0].childNodes.length; i ++)    {      var aData = selectElem.childNodes[0].childNodes[i].getAttribute("value");      selectElementIndexTable[aData] = i;    }  }    return selectElementIndexTable[itemData];}function Recipients2CompFields(msgCompFields){  if (msgCompFields)  {    var i = 1;    var addrTo = "";    var addrCc = "";    var addrBcc = "";    var addrReply = "";    var addrNg = "";    var addrFollow = "";    var addrOther = "";    var to_Sep = "";    var cc_Sep = "";    var bcc_Sep = "";    var reply_Sep = "";    var ng_Sep = "";    var follow_Sep = "";    gMimeHeaderParser = Components.classes["@mozilla.org/messenger/headerparser;1"].getService(Components.interfaces.nsIMsgHeaderParser);    var recipientType;    var inputField;    var fieldValue;    var recipient;    while ((inputField = awGetInputElement(i)))    {      fieldValue = inputField.value;      if (fieldValue == null)        fieldValue = inputField.getAttribute("value");      if (fieldValue != "")      {        recipientType = awGetPopupElement(i).selectedItem.getAttribute("value");        recipient = null;        switch (recipientType)        {          case "addr_to"    :          case "addr_cc"    :          case "addr_bcc"   :          case "addr_reply" :            try {              recipient = gMimeHeaderParser.reformatUnquotedAddresses(fieldValue);            } catch (ex) {recipient = fieldValue;}            break;        }        switch (recipientType)        {          case "addr_to"          : addrTo += to_Sep + recipient; to_Sep = ",";               break;          case "addr_cc"          : addrCc += cc_Sep + recipient; cc_Sep = ",";               break;          case "addr_bcc"         : addrBcc += bcc_Sep + recipient; bcc_Sep = ",";            break;          case "addr_reply"       : addrReply += reply_Sep + recipient; reply_Sep = ",";      break;           case "addr_newsgroups"  : addrNg += ng_Sep + fieldValue; ng_Sep = ",";              break;          case "addr_followup"    : addrFollow += follow_Sep + fieldValue; follow_Sep = ",";  break;          // do CRLF, same as PUSH_NEWLINE() in nsMsgSend.h / nsMsgCompUtils.cpp          // see bug #195965          case "addr_other"       : addrOther += awGetPopupElement(i).selectedItem.getAttribute("label") + " " + fieldValue + "\r\n";break;        }      }      i ++;    }    msgCompFields.to = addrTo;    msgCompFields.cc = addrCc;    msgCompFields.bcc = addrBcc;    msgCompFields.replyTo = addrReply;    msgCompFields.newsgroups = addrNg;    msgCompFields.followupTo = addrFollow;    msgCompFields.otherRandomHeaders = addrOther;    gMimeHeaderParser = null;  }  else    dump("Message Compose Error: msgCompFields is null (ExtractRecipients)");}function CompFields2Recipients(msgCompFields, msgType){  if (msgCompFields) {    gMimeHeaderParser = Components.classes["@mozilla.org/messenger/headerparser;1"].getService(Components.interfaces.nsIMsgHeaderParser);    var listbox = document.getElementById('addressingWidget');    var newListBoxNode = listbox.cloneNode(false);    var listBoxColsClone = listbox.firstChild.cloneNode(true);    newListBoxNode.appendChild(listBoxColsClone);    var templateNode = listbox.getElementsByTagName("listitem")[0];        top.MAX_RECIPIENTS = 0;    var msgReplyTo = msgCompFields.replyTo;    var msgTo = msgCompFields.to;    var msgCC = msgCompFields.cc;    var msgBCC = msgCompFields.bcc;    var msgRandomHeaders = msgCompFields.otherRandomHeaders;    var msgNewsgroups = msgCompFields.newsgroups;    var msgFollowupTo = msgCompFields.followupTo;    if(msgReplyTo)      awSetInputAndPopupFromArray(msgCompFields.SplitRecipients(msgReplyTo, false),                                   "addr_reply", newListBoxNode, templateNode);    if(msgTo)      awSetInputAndPopupFromArray(msgCompFields.SplitRecipients(msgTo, false),                                   "addr_to", newListBoxNode, templateNode);    if(msgCC)      awSetInputAndPopupFromArray(msgCompFields.SplitRecipients(msgCC, false),                                  "addr_cc", newListBoxNode, templateNode);    if(msgBCC)      awSetInputAndPopupFromArray(msgCompFields.SplitRecipients(msgBCC, false),                                  "addr_bcc", newListBoxNode, templateNode);    if(msgRandomHeaders)      awSetInputAndPopup(msgRandomHeaders, "addr_other", newListBoxNode, templateNode);    if(msgNewsgroups)      awSetInputAndPopup(msgNewsgroups, "addr_newsgroups", newListBoxNode, templateNode);    if(msgFollowupTo)      awSetInputAndPopup(msgFollowupTo, "addr_followup", newListBoxNode, templateNode);    //If it's a new message, we need to add an extrat empty recipient.    if (!msgTo && !msgNewsgroups)      _awSetInputAndPopup("", "addr_to", newListBoxNode, templateNode);    // dump("replacing child in comp fields 2 recips \n");    var parent = listbox.parentNode;    parent.replaceChild(newListBoxNode, listbox);    awFitDummyRows(2);    // CompFields2Recipients is called whenever a user replies or edits an existing message. We want to    // add all of the recipients for this message to the ignore list for spell check     addRecipientsToIgnoreList((gCurrentIdentity ? gCurrentIdentity.identityName + ', ' : '') + msgTo + ', ' + msgCC + ', ' + msgBCC);    gMimeHeaderParser = null; //Release the mime parser  }}function awSetInputAndPopupValue(inputElem, inputValue, popupElem, popupValue, rowNumber){  // remove leading spaces  while (inputValue && inputValue[0] == " " )    inputValue = inputValue.substring(1, inputValue.length);  inputElem.setAttribute("value", inputValue);  inputElem.value = inputValue;  popupElem.selectedItem = popupElem.childNodes[0].childNodes[awGetSelectItemIndex(popupValue)];  if (rowNumber >= 0)  {    inputElem.setAttribute("id", "addressCol2#" + rowNumber);    popupElem.setAttribute("id", "addressCol1#" + rowNumber);  }  _awSetAutoComplete(popupElem, inputElem);}function _awSetInputAndPopup(inputValue, popupValue, parentNode, templateNode){    top.MAX_RECIPIENTS++;    var newNode = templateNode.cloneNode(true);    parentNode.appendChild(newNode); // we need to insert the new node before we set the value of the select element!    var input = newNode.getElementsByTagName(awInputElementName());    var select = newNode.getElementsByTagName(awSelectElementName());    if (input && input.length == 1 && select && select.length == 1)      awSetInputAndPopupValue(input[0], inputValue, select[0], popupValue, top.MAX_RECIPIENTS)}function awSetInputAndPopup(inputValue, popupValue, parentNode, templateNode){  if ( inputValue && popupValue )  {    var addressArray = inputValue.split(",");    for ( var index = 0; index < addressArray.length; index++ )        _awSetInputAndPopup(addressArray[index], popupValue, parentNode, templateNode);  }}function awSetInputAndPopupFromArray(inputArray, popupValue, parentNode, templateNode){  if ( inputArray && popupValue )  {    var recipient;    for ( var index = 0; index < inputArray.count; index++ )    {      recipient = null;      if (gMimeHeaderParser)        try {          recipient = gMimeHeaderParser.unquotePhraseOrAddrWString(inputArray.StringAt(index), true);        } catch (ex) {};      if (!recipient)        recipient = inputArray.StringAt(index)      _awSetInputAndPopup(recipient, popupValue, parentNode, templateNode);    }  }}function awRemoveRecipients(msgCompFields, recipientType, recipientsList){  if (!msgCompFields)    return;  var recipientArray = msgCompFields.SplitRecipients(recipientsList, false);  if (! recipientArray)    return;  for ( var index = 0; index < recipientArray.count; index++ )    for (var row = 1; row <= top.MAX_RECIPIENTS; row ++)    {      var popup = awGetPopupElement(row);      if (popup.selectedItem.getAttribute("value") == recipientType)      {        var input = awGetInputElement(row);        if (input.value == recipientArray.StringAt(index))        {          awSetInputAndPopupValue(input, "", popup, "addr_to", -1);          break;        }      }    }}function awAddRecipients(msgCompFields, recipientType, recipientsList){  if (!msgCompFields)    return;  var recipientArray = msgCompFields.SplitRecipients(recipientsList, false);  if (! recipientArray)    return;  for ( var index = 0; index < recipientArray.count; index++ )    awAddRecipient(recipientType, recipientArray.StringAt(index));}// this was broken out of awAddRecipients so it can be re-used...adds a new row matching recipientType and// drops in the single address.function awAddRecipient(recipientType, address){   for (var row = 1; row <= top.MAX_RECIPIENTS; row ++)  {    if (awGetInputElement(row).value == "")      break;  }    if (row > top.MAX_RECIPIENTS)    awAppendNewRow(false);  awSetInputAndPopupValue(awGetInputElement(row), address, awGetPopupElement(row), recipientType, row);   /* be sure we still have an empty row left at the end */  if (row == top.MAX_RECIPIENTS)  {    awAppendNewRow(true);    awSetInputAndPopupValue(awGetInputElement(top.MAX_RECIPIENTS), "", awGetPopupElement(top.MAX_RECIPIENTS), "addr_to", top.MAX_RECIPIENTS);  }    // add the recipient to our spell check ignore list  addRecipientsToIgnoreList(address);}function awTestRowSequence(){  /*    This function is for debug and testing purpose only, normal user should not run it!    Everytime we insert or delete a row, we must be sure we didn't break the ID sequence of    the addressing widget rows. This function will run a quick test to see if the sequence still ok    You need to define the pref mail.debug.test_addresses_sequence to true in order to activate it  */  if (! test_addresses_sequence)    return true;  /* debug code to verify the sequence still good */  var listbox = document.getElementById('addressingWidget');  var listitems = listbox.getElementsByTagName('listitem');  if (listitems.length >= top.MAX_RECIPIENTS )  {    for (var i = 1; i <= listitems.length; i ++)    {      var item = listitems [i - 1];      var inputID = item.getElementsByTagName(awInputElementName())[0].getAttribute("id").split("#")[1];      var popupID = item.getElementsByTagName(awSelectElementName())[0].getAttribute("id").split("#")[1];      if (inputID != i || popupID != i)      {        dump("#ERROR: sequence broken at row " + i + ", inputID=" + inputID + ", popupID=" + popupID + "\n");        return false;      }      dump("---SEQUENCE OK---\n");      return true;    }  }  else    dump("#ERROR: listitems.length(" + listitems.length + ") < top.MAX_RECIPIENTS(" + top.MAX_RECIPIENTS + ")\n");  return false;}function awResetAllRows(){  var maxRecipients = top.MAX_RECIPIENTS;    for (var row = 1; row <= maxRecipients ; row ++)  {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成av人片一区二区| 91麻豆精品国产91久久久资源速度| 99久久精品国产麻豆演员表| 欧美少妇bbb| 国产亚洲一区二区三区| 亚洲一区二区三区美女| 国产精品69毛片高清亚洲| 在线观看www91| 中文字幕一区在线观看视频| 久久精品72免费观看| 91国偷自产一区二区开放时间 | 亚洲国产成人porn| 国产精品自拍毛片| 欧美一区二区成人| 亚洲在线中文字幕| 99精品桃花视频在线观看| 精品国产一区二区精华| 亚洲国产精品天堂| 色中色一区二区| 国产精品久久久久久久久久久免费看 | 美女www一区二区| 91黄视频在线观看| 最新日韩在线视频| 波波电影院一区二区三区| ww亚洲ww在线观看国产| 麻豆国产欧美一区二区三区| 欧美日本在线看| 午夜精品久久一牛影视| 欧美亚洲另类激情小说| 亚洲欧美日韩国产一区二区三区| 高清免费成人av| 国产三级精品视频| 国产成人综合精品三级| 国产夜色精品一区二区av| 国产一区二区三区精品欧美日韩一区二区三区| 欧美乱熟臀69xxxxxx| 亚洲国产精品久久久久婷婷884| 欧美系列亚洲系列| 日韩成人伦理电影在线观看| 欧美一区二区三区四区在线观看 | 久久www免费人成看片高清| 欧美高清性hdvideosex| 天天影视涩香欲综合网| 欧美一区二区三区在线| 精品一区二区久久久| 精品日本一线二线三线不卡| 久久99国产精品麻豆| 精品成人一区二区三区四区| 精品一区二区国语对白| 国产视频一区在线观看| 成人精品免费看| 亚洲另类中文字| 欧美猛男男办公室激情| 丁香网亚洲国际| 国产精品福利一区二区三区| 日本精品一级二级| 首页国产丝袜综合| 欧美成人一区二区三区片免费 | 精品电影一区二区| 国产91综合网| 日本午夜一本久久久综合| 99久精品国产| 亚洲欧洲国产专区| 91成人看片片| 国产亚洲美州欧州综合国| 狠狠色丁香婷综合久久| aa级大片欧美| 欧美日韩精品一区二区在线播放| 五月婷婷色综合| 久久久久久**毛片大全| 日本精品视频一区二区| 久久99国内精品| 亚洲免费视频成人| 欧美成人vr18sexvr| 成人丝袜高跟foot| 亚洲第一成人在线| 欧美激情在线看| 4438成人网| 日韩免费观看高清完整版在线观看 | 国产视频一区二区在线| 亚洲电影中文字幕在线观看| 日韩欧美一卡二卡| 国产成人精品亚洲日本在线桃色 | 亚洲理论在线观看| 亚洲777理论| 欧美专区在线观看一区| 亚洲精品乱码久久久久久| 麻豆成人在线观看| 2019国产精品| 麻豆精品视频在线观看| 中文字幕永久在线不卡| 国产精品福利一区二区| 中文字幕久久午夜不卡| 欧美日本一区二区在线观看| 久久婷婷色综合| 久久99久久99精品免视看婷婷 | 3atv一区二区三区| 亚洲精品自拍动漫在线| 91毛片在线观看| 午夜伊人狠狠久久| 欧美美女视频在线观看| 亚洲国产你懂的| 精品久久一区二区| 色哦色哦哦色天天综合| 亚洲一级二级三级| 国产喂奶挤奶一区二区三区| 国产精品一区二区在线看| 一区二区三区在线免费播放| 337p亚洲精品色噜噜噜| 粉嫩在线一区二区三区视频| 亚洲欧美日韩在线播放| 在线不卡中文字幕| 成人激情校园春色| 99这里都是精品| 日韩av在线发布| 视频一区二区中文字幕| 亚洲欧美日韩电影| 亚洲线精品一区二区三区八戒| 国产欧美一区二区精品性色 | 亚洲免费观看高清在线观看| 久久久精品日韩欧美| 日韩在线观看一区二区| 蜜臀a∨国产成人精品| 欧美性色aⅴ视频一区日韩精品| 91丝袜美腿高跟国产极品老师| 岛国av在线一区| 成人激情视频网站| 97久久人人超碰| 色94色欧美sute亚洲13| 在线观看日韩av先锋影音电影院| 欧美性高清videossexo| 欧美日韩国产高清一区二区| 9191国产精品| 精品国产伦一区二区三区免费 | 成人爱爱电影网址| 床上的激情91.| 色呦呦一区二区三区| 色又黄又爽网站www久久| 欧美日韩一区三区四区| 日韩欧美在线影院| 久久久不卡网国产精品二区| 中文字幕中文在线不卡住| 亚洲激情图片qvod| 日本伊人精品一区二区三区观看方式| 亚洲欧美日韩一区二区| 国产精品久久久久婷婷二区次 | 日日欢夜夜爽一区| 在线一区二区观看| 91精品国产欧美日韩| 精品国产成人系列| 精品噜噜噜噜久久久久久久久试看| 亚洲美女偷拍久久| 免费看欧美女人艹b| 色综合久久六月婷婷中文字幕| 欧美性猛片aaaaaaa做受| 一本一本久久a久久精品综合麻豆| 亚洲欧洲av在线| 国产成人亚洲综合a∨婷婷 | 91丨porny丨最新| 成人免费视频播放| 91精品国产欧美日韩| 国产69精品久久久久777| 欧美肥妇bbw| 久久国产夜色精品鲁鲁99| 欧美精品粉嫩高潮一区二区| 青青青伊人色综合久久| 6080午夜不卡| 成人性色生活片| 欧美国产国产综合| 99久久婷婷国产综合精品| 亚洲在线观看免费| 欧美肥大bbwbbw高潮| 久久精品国产网站| 久久久噜噜噜久久人人看| 日本精品一区二区三区高清| 中文字幕一区二区三中文字幕| 欧美久久久久久蜜桃| 99国产欧美久久久精品| 成人晚上爱看视频| 国产自产2019最新不卡| 国产伦理精品不卡| 国产真实乱偷精品视频免| 亚洲午夜私人影院| 日韩一区欧美一区| 久久先锋资源网| 在线电影欧美成精品| www.久久精品| 国产乱码精品一区二区三区五月婷| 一区二区三区美女| 自拍偷拍欧美精品| 成人欧美一区二区三区视频网页 | 欧美日韩一区三区四区| 亚洲欧洲色图综合| 欧美日本韩国一区| 国产一区二区在线看| 国产精品久久久久久亚洲毛片| 国产成人一区在线| 香蕉影视欧美成人| 亚洲欧美日韩一区二区| 久久久蜜桃精品|