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

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

?? addressingwidgetoverlay.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 3 頁
字號:
# -*- 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 ++)  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色视频一区二区| 国产精品久久久久婷婷| 欧美tk丨vk视频| 国产精品女人毛片| 麻豆精品视频在线观看免费| 一区二区三区四区乱视频| 欧美视频完全免费看| 精品一区二区三区在线播放| 亚洲国产综合色| www.亚洲激情.com| 麻豆免费看一区二区三区| 国产精品系列在线播放| av资源网一区| 国产精品天干天干在线综合| 亚洲老司机在线| 色视频一区二区| 日韩高清在线不卡| 91精品啪在线观看国产60岁| 日韩和的一区二区| 日韩欧美国产综合在线一区二区三区| 久久精品国产99久久6| 久久免费午夜影院| 国产在线精品视频| 欧美成人r级一区二区三区| 视频一区二区中文字幕| 欧美理论在线播放| 日韩国产精品久久久| 久久亚洲精品国产精品紫薇| 成人美女视频在线看| 日韩免费高清av| 亚洲成人7777| 99国内精品久久| 日韩成人av影视| 欧美精品 日韩| 国产精品高潮久久久久无| 亚洲精品国产视频| 亚洲欧美欧美一区二区三区| 久久成人免费日本黄色| 欧美成人在线直播| 免费不卡在线视频| 欧美一区二区三区播放老司机| 亚洲精品视频免费观看| 国产一区二区电影| 欧美一区二区视频在线观看2020| 精品成人在线观看| 秋霞电影网一区二区| 国产成人亚洲精品狼色在线| 91精品国产免费| 午夜欧美电影在线观看| 国产ts人妖一区二区| 欧美人牲a欧美精品| 久久久久久免费网| 另类中文字幕网| 欧美网站一区二区| 日韩vs国产vs欧美| 久久欧美一区二区| 3d动漫精品啪啪一区二区竹菊| 日本午夜一本久久久综合| 一区二区视频免费在线观看| 国产日产欧美一区二区三区| 欧美精品一区在线观看| 国产日韩欧美精品电影三级在线| 欧美激情中文字幕| 一区二区三区四区不卡在线| 亚洲国产视频一区二区| 综合在线观看色| 欧美第一区第二区| 在线一区二区三区四区五区 | 麻豆精品一区二区综合av| 日韩视频中午一区| 色哟哟精品一区| 成人综合婷婷国产精品久久蜜臀| 久久精工是国产品牌吗| 久久新电视剧免费观看| 欧美主播一区二区三区美女| 欧美一级精品大片| 欧美日韩久久久一区| 国产综合久久久久影院| 精品国产91亚洲一区二区三区婷婷| 亚洲激情成人在线| 色久综合一二码| 免费一级欧美片在线观看| 色www精品视频在线观看| 日韩一区欧美二区| 亚洲已满18点击进入久久| 亚洲免费观看在线观看| 亚洲精品菠萝久久久久久久| 亚洲福利电影网| 99精品久久只有精品| 精品国产免费人成电影在线观看四季 | 国产一区二区伦理| 99免费精品在线观看| 亚洲精品一区二区三区影院| 国产精品国产成人国产三级| 亚洲精品五月天| 亚洲午夜在线观看视频在线| 天天爽夜夜爽夜夜爽精品视频| 日本人妖一区二区| 91色综合久久久久婷婷| 在线精品视频免费播放| 91精品免费在线| 国产精品美女久久久久aⅴ| 亚洲色图都市小说| 亚洲制服欧美中文字幕中文字幕| 亚洲国产视频一区二区| 岛国av在线一区| 国产精品美女久久久久久久久 | 天天av天天翘天天综合网| 国产精品夫妻自拍| 99麻豆久久久国产精品免费 | 综合久久给合久久狠狠狠97色 | 亚洲欧美韩国综合色| 亚洲国产精品自拍| 99re视频这里只有精品| 欧美精品久久一区二区三区| 国产欧美日本一区二区三区| 天天综合天天综合色| 国内精品久久久久影院色| 91国产成人在线| 国产精品色在线| 久久99精品国产麻豆不卡| 成人性色生活片免费看爆迷你毛片| 美国十次综合导航| 国产精品二三区| 男人的j进女人的j一区| 国产很黄免费观看久久| 日本道色综合久久| 国产婷婷精品av在线| 亚洲伊人伊色伊影伊综合网| 韩国午夜理伦三级不卡影院| 一本到三区不卡视频| 欧美精品一区二区三区很污很色的 | 亚洲视频小说图片| 久久精品国产亚洲aⅴ| 91亚洲资源网| 精品国产不卡一区二区三区| 一级女性全黄久久生活片免费| 激情成人综合网| 欧美日韩日本视频| 国产精品国模大尺度视频| 丁香亚洲综合激情啪啪综合| 亚洲婷婷国产精品电影人久久| 欧美大片一区二区| 激情深爱一区二区| 91福利精品视频| 亚洲午夜久久久久| 精品国产亚洲一区二区三区在线观看| 九九九精品视频| 亚洲美女免费视频| 亚洲国产欧美在线| 日韩欧美成人一区| 欧美三级韩国三级日本三斤| 色婷婷av一区二区三区软件| av在线不卡网| 色综合色狠狠天天综合色| 91麻豆自制传媒国产之光| 91成人在线观看喷潮| 91丨九色丨蝌蚪富婆spa| 欧美最猛黑人xxxxx猛交| 欧美一级一区二区| 精品少妇一区二区三区免费观看| 福利一区在线观看| 亚洲 欧美综合在线网络| 国产亚洲婷婷免费| 欧美欧美欧美欧美首页| 国产99久久久国产精品| 日韩福利视频导航| 亚洲第一电影网| 亚洲一区在线视频| 亚洲精品日日夜夜| 中文字幕一区二区三区不卡在线| 在线精品视频免费播放| 亚洲精品国产一区二区精华液| 国产精品一级片| 久久青草国产手机看片福利盒子 | 欧美mv日韩mv国产网站app| 麻豆91在线观看| 欧美电视剧免费全集观看| 奇米精品一区二区三区在线观看| 91精品国产91久久综合桃花| 秋霞影院一区二区| 精品少妇一区二区三区日产乱码 | 日韩视频一区二区三区| 26uuu成人网一区二区三区| 亚洲午夜激情网页| 亚洲福利一二三区| 亚洲人成网站精品片在线观看| 51精品视频一区二区三区| 555夜色666亚洲国产免| 日韩一区二区三区电影 | 色综合咪咪久久| kk眼镜猥琐国模调教系列一区二区| 免费看黄色91| 亚洲精品高清视频在线观看| 国产欧美一区二区在线| 欧美xxxx老人做受| 欧美日韩精品专区| 欧美日韩色一区| 日本高清视频一区二区| 欧美三区在线视频|