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

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

?? feeditem.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
      debug(this.identity + " not stored (folder didn't exist)");      return false;    }    var ds = getItemsDS(server);    var itemURI = this.itemUniqueURI;    var itemResource = rdf.GetResource(itemURI);    var downloaded = ds.GetTarget(itemResource, FZ_STORED, true);    // Backward compatibility: we might have stored this item before isStoredWithId    // has been turned on for RSS 2.0 (bug 354345). Check whether this item has been    // stored with its URL.    if (!downloaded && itemURI != this.mURL)    {      itemResource = rdf.GetResource(this.mURL);      downloaded = ds.GetTarget(itemResource, FZ_STORED, true);    }    if (!downloaded || downloaded.QueryInterface(Components.interfaces.nsIRDFLiteral).Value == "false")     {      // HACK ALERT: before we give up, try to work around an entity escaping bug in RDF      // See Bug #258465 for more details      itemURI = itemURI.replace(/&lt;/g, '<');      itemURI = itemURI.replace(/&gt;/g, '>');      itemURI = itemURI.replace(/&quot;/g, '"');      itemURI = itemURI.replace(/&amp;/g, '&');           debug('Failed to find item, trying entity replacement version: '  + itemURI);      itemResource = rdf.GetResource(itemURI);      downloaded = ds.GetTarget(itemResource, FZ_STORED, true);      if (downloaded)      {         debug(this.identity + " not stored");        return true;      }      debug(this.identity + " not stored");      return false;    }    else     {      debug(this.identity + " stored");      return true;    }  },  markValid: function()   {    debug("validating " + this.mURL);    var ds = getItemsDS(this.feed.server);    var itemURI = this.itemUniqueURI;    var resource = rdf.GetResource(itemURI);        // Backward compatibility: we might have stored this item before isStoredWithId    // has been turned on for RSS 2.0 (bug 354345). Check whether this item has been    // stored with its URL.    if (!ds.GetTarget(resource, FZ_STORED, true) && itemURI != this.mURL)      resource = rdf.GetResource(this.mURL);    if (!ds.HasAssertion(resource, FZ_FEED, rdf.GetResource(this.feed.url), true))      ds.Assert(resource, FZ_FEED, rdf.GetResource(this.feed.url), true);        if (ds.hasArcOut(resource, FZ_VALID))     {      var currentValue = ds.GetTarget(resource, FZ_VALID, true);      ds.Change(resource, FZ_VALID, currentValue, RDF_LITERAL_TRUE);    }    else       ds.Assert(resource, FZ_VALID, RDF_LITERAL_TRUE, true);  },  markStored: function()   {    var ds = getItemsDS(this.feed.server);    var itemURI = this.itemUniqueURI;    var resource = rdf.GetResource(itemURI);       if (!ds.HasAssertion(resource, FZ_FEED, rdf.GetResource(this.feed.url), true))      ds.Assert(resource, FZ_FEED, rdf.GetResource(this.feed.url), true);        var currentValue;    if (ds.hasArcOut(resource, FZ_STORED))     {      currentValue = ds.GetTarget(resource, FZ_STORED, true);      ds.Change(resource, FZ_STORED, currentValue, RDF_LITERAL_TRUE);    }    else       ds.Assert(resource, FZ_STORED, RDF_LITERAL_TRUE, true);  },  mimeEncodeSubject: function(aSubject, aCharset)  {      // get the mime header encoder service    var mimeEncoder = Components.classes["@mozilla.org/messenger/mimeconverter;1"].getService(Components.interfaces.nsIMimeConverter);    // this routine sometimes throws exceptions for mis-encoded data so wrap it     // with a try catch for now..    var newSubject;    try     {      newSubject = mimeEncoder.encodeMimePartIIStr(this.mUnicodeConverter.ConvertFromUnicode(aSubject), false, aCharset, 9, 72);    }    catch (ex)     {       newSubject = aSubject;     }    return newSubject;  },   writeToFolder: function()   {    debug(this.identity + " writing to message folder" + this.feed.name + "\n");      var server = this.feed.server;    this.mUnicodeConverter.charset = this.characterSet;    // If the sender isn't a valid email address, quote it so it looks nicer.    if (this.author && this.author.indexOf('@') == -1)      this.author = '<' + this.author + '>';    // Convert the title to UTF-16 before performing our HTML entity replacement    // reg expressions.    var title = this.title;     // the subject may contain HTML entities.    // Convert these to their unencoded state. i.e. &amp; becomes '&'    title = title.replace(/&lt;/g, '<');    title = title.replace(/&gt;/g, '>');    title = title.replace(/&quot;/g, '"');    title = title.replace(/&amp;/g, '&');      // Compress white space in the subject to make it look better.    title = title.replace(/[\t\r\n]+/g, " ");    this.title = this.mimeEncodeSubject(title, this.characterSet);    // If the date looks like it's in W3C-DTF format, convert it into    // an IETF standard date.  Otherwise assume it's in IETF format.    if (this.mDate.search(/^\d\d\d\d/) != -1)      this.mDate = W3CToIETFDate(this.mDate);    // Escape occurrences of "From " at the beginning of lines of content    // per the mbox standard, since "From " denotes a new message, and add    // a line break so we know the last line has one.    this.content = this.content.replace(/([\r\n]+)(>*From )/g, "$1>$2");    this.content += "\n";    // The opening line of the message, mandated by standards to start with    // "From ".  It's useful to construct this separately because we not only    // need to write it into the message, we also need to use it to calculate    // the offset of the X-Mozilla-Status lines from the front of the message    // for the statusOffset property of the DB header object.    var openingLine = 'From - ' + this.mDate + '\n';    var source =      openingLine +      'X-Mozilla-Status: 0000\n' +      'X-Mozilla-Status2: 00000000\n' +      'X-Mozilla-Keys:                                                                                \n' +      'Date: ' + this.mDate + '\n' +      'Message-Id: <' + this.messageID + '>\n' +      'From: ' + this.author + '\n' +      'MIME-Version: 1.0\n' +      'Subject: ' + this.title + '\n' +      'Content-Transfer-Encoding: 8bit\n' +      'Content-Base: ' + this.mURL + '\n';    if (this.enclosure && this.enclosure.mFileName)    {      var boundaryID = source.length + this.enclosure.mLength;      source += 'Content-Type: multipart/mixed;\n boundary="' + ENCLOSURE_HEADER_BOUNDARY_PREFIX + boundaryID + '"' + '\n\n' +                'This is a multi-part message in MIME format.\n' + ENCLOSURE_BOUNDARY_PREFIX + boundaryID + '\n' +                'Content-Type: text/html; charset=' + this.characterSet + '\n' +                'Content-Transfer-Encoding: 8bit\n' +                 this.content;      source += this.enclosure.convertToAttachment(boundaryID);    }    else    {      source += 'Content-Type: text/html; charset=' + this.characterSet + '\n' +                '\n' + this.content;                   }    debug(this.identity + " is " + source.length + " characters long");    // Get the folder and database storing the feed's messages and headers.    folder = this.feed.folder.QueryInterface(Components.interfaces.nsIMsgLocalMailFolder);    var msgFolder = folder.QueryInterface(Components.interfaces.nsIMsgFolder);    msgFolder.gettingNewMessages = true;    // source is a unicode string, we want to save a char * string in the original charset. So convert back    folder.addMessage(this.mUnicodeConverter.ConvertFromUnicode(source));    msgFolder.gettingNewMessages = false;    this.markStored();  }};// A feed enclosure is to RSS what an attachment is for e-mail. We make enclosures look// like attachments in the UI.function FeedEnclosure(aURL, aContentType, aLength) {  this.mURL = aURL;  this.mContentType = aContentType;  this.mLength = aLength;  // generate a fileName from the URL  if (this.mURL)  {    var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);    var enclosureURL  = ioService.newURI(this.mURL, null, null).QueryInterface(Components.interfaces.nsIURL);    if (enclosureURL)      this.mFileName = enclosureURL.fileName;  }}FeedEnclosure.prototype = {  mURL: "",  mContentType: "",  mLength: 0,  mFileName: "",  // returns a string that looks like an e-mail attachment  // which represents the enclosure.  convertToAttachment: function(aBoundaryID)  {    return '\n' +                  ENCLOSURE_BOUNDARY_PREFIX + aBoundaryID + '\n' +                  'Content-Type: ' + this.mContentType + '; name="' + this.mFileName + '"\n' +                   'X-Mozilla-External-Attachment-URL: ' + this.mURL + '\n' +                  'Content-Disposition: attachment; filename="' + this.mFileName + '"\n\n' +                   'This MIME attachment is stored separately from the message.\n' +                  ENCLOSURE_BOUNDARY_PREFIX + aBoundaryID + '--' + '\n';  }};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在线看| 北岛玲一区二区三区四区| 国产资源在线一区| 一本久道中文字幕精品亚洲嫩| 在线精品观看国产| 国产欧美日韩视频一区二区| 石原莉奈在线亚洲二区| 丰满少妇久久久久久久| 欧美久久婷婷综合色| 欧美激情一区二区三区全黄| 色婷婷久久久久swag精品 | 欧美一区二区国产| 亚洲国产另类av| 一区二区三区四区国产精品| 欧美肥妇毛茸茸| 欧美精品三级日韩久久| 91首页免费视频| 国产在线播放一区三区四| 日韩在线一二三区| 玉米视频成人免费看| 亚洲一区二区综合| 艳妇臀荡乳欲伦亚洲一区| 日韩欧美国产三级电影视频| 三级亚洲高清视频| 日本道在线观看一区二区| 韩国v欧美v日本v亚洲v| 久热成人在线视频| 欧美视频在线一区二区三区| 久久久777精品电影网影网| 亚洲欧美日韩在线播放| va亚洲va日韩不卡在线观看| 国产精品久久久一本精品| 国产91在线观看| 国产精品第五页| 国产精品久久久久久久久动漫 | 色婷婷精品大在线视频| 精品一区二区三区视频在线观看| 国产精品久久久久久久久图文区| 欧美va在线播放| 日本中文字幕一区二区视频| 91精品国产综合久久香蕉麻豆 | 国产精品一区专区| 精品国产91久久久久久久妲己| 捆绑紧缚一区二区三区视频 | 理论片日本一区| 精品美女在线播放| 国产在线精品国自产拍免费| 久久综合久久久久88| 国产一区免费电影| 中文欧美字幕免费| 91污在线观看| 亚洲图片欧美色图| 7777精品伊人久久久大香线蕉| 日本中文字幕一区| 久久久综合九色合综国产精品| 国产成人午夜99999| 中文字幕一区不卡| 欧美理论在线播放| 精品夜夜嗨av一区二区三区| 久久精品夜夜夜夜久久| 91伊人久久大香线蕉| 日韩电影网1区2区| 久久精品人人爽人人爽| 91麻豆国产自产在线观看| 亚洲国产成人av网| 国产喷白浆一区二区三区| 91香蕉视频黄| 久久狠狠亚洲综合| √…a在线天堂一区| 91精品国产一区二区三区 | 91搞黄在线观看| 蜜桃av噜噜一区二区三区小说| 久久久91精品国产一区二区精品 | 色成年激情久久综合| 日韩av中文字幕一区二区三区| 国产丝袜欧美中文另类| 91国偷自产一区二区使用方法| 麻豆精品视频在线| 一卡二卡欧美日韩| 国产三级久久久| 欧美日韩国产美| 99在线视频精品| 精品一区二区在线看| 亚洲黄色av一区| 久久久.com| 日韩午夜激情视频| 91行情网站电视在线观看高清版| 韩国三级中文字幕hd久久精品| 亚洲欧美一区二区三区国产精品 | 国产成人欧美日韩在线电影| 亚洲丰满少妇videoshd| 欧美日韩国产一级片| www.久久久久久久久| 裸体歌舞表演一区二区| 亚洲制服丝袜一区| 亚洲人成影院在线观看| 国产亚洲女人久久久久毛片| 日韩一区二区三区视频在线| 一本一道久久a久久精品| 风流少妇一区二区| 精品在线视频一区| 免费欧美日韩国产三级电影| 亚洲第一福利一区| 一区二区欧美精品| 亚洲视频香蕉人妖| 中文字幕+乱码+中文字幕一区| 精品三级在线看| 欧美电影免费观看高清完整版在| 欧美日韩午夜在线视频| 在线观看免费一区| 91福利区一区二区三区| 99视频精品全部免费在线| 国产精华液一区二区三区| 韩国欧美一区二区| 国产一区999| 国产成人综合网站| 国产精品1024久久| 成人免费不卡视频| eeuss鲁片一区二区三区在线看| 福利电影一区二区| 成人app软件下载大全免费| 成人国产精品免费观看动漫| 国产电影一区在线| 成人免费视频免费观看| 成人永久免费视频| 99久久夜色精品国产网站| 波多野洁衣一区| 色狠狠色狠狠综合| 欧美日韩一区二区三区四区五区| 欧美日韩夫妻久久| 51久久夜色精品国产麻豆| 日韩欧美一级二级三级久久久| 精品福利在线导航| 国产色爱av资源综合区| 国产精品国产三级国产普通话99| 国产免费观看久久| 亚洲视频一二区| 日韩国产欧美视频| 国产伦精品一区二区三区在线观看| 国产伦精品一区二区三区免费迷| 高清不卡一区二区在线| 色狠狠桃花综合| 日韩一区二区三区高清免费看看 | 日韩女优电影在线观看| 国产日韩精品一区二区三区在线| 国产精品国产三级国产aⅴ入口| 日韩理论在线观看| 天天影视色香欲综合网老头| 麻豆成人91精品二区三区| 成人免费视频免费观看| 欧美色老头old∨ideo| 欧美成人精品二区三区99精品| 国产色婷婷亚洲99精品小说| 亚洲自拍偷拍九九九| 麻豆免费看一区二区三区| 成人免费电影视频| 欧美理论在线播放| 国产精品久久久久久久久晋中| 亚洲一区二区三区四区在线| 久久成人综合网| 色婷婷综合久久久中文一区二区| 欧美一区二区网站| 中文字幕日韩精品一区| 奇米精品一区二区三区四区 | 成人中文字幕电影| 日韩一区二区在线看| 中文字幕字幕中文在线中不卡视频| 日韩在线a电影| 99精品欧美一区| 精品国产免费一区二区三区四区| 亚洲欧美国产三级| 国产中文一区二区三区| 欧美三级日韩在线| 国产精品久久久久久久久免费樱桃 | 美女爽到高潮91| 99久久夜色精品国产网站| xvideos.蜜桃一区二区| 亚洲国产日产av| 不卡的av在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 性感美女极品91精品| 97se亚洲国产综合自在线| 久久久久久麻豆| 美女爽到高潮91| 91精品久久久久久久91蜜桃| 亚洲精品视频一区| av中文字幕不卡| 中文字幕欧美区| 国产在线麻豆精品观看| 日韩一级片在线播放| 亚洲va天堂va国产va久| 91豆麻精品91久久久久久| 国产精品精品国产色婷婷| 成人性生交大片免费看在线播放 | 欧美无砖砖区免费| 伊人一区二区三区| 色丁香久综合在线久综合在线观看| 国产精品久久一级| 成a人片国产精品| 国产精品视频一二|