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

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

?? feed.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
# -*- Mode: Java; 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 the RSS Parsing Engine## The Initial Developer of the Original Code is# The Mozilla Foundation.# Portions created by the Initial Developer are Copyright (C) 2004# 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 ***** */// error codes used to inform the consumer about attempts to download a feedconst kNewsBlogSuccess = 0;const kNewsBlogInvalidFeed = 1; // usually means there was an error trying to parse the feed...const kNewsBlogRequestFailure = 2; // generic networking failure when trying to download the feed.const kNewsBlogFeedIsBusy = 3;const kNewsBlogNoNewItems = 4; // there are no new articles for this feed// Cache for all of the feeds currently being downloaded, indexed by URL, so the load event listener// can access the Feed objects after it finishes downloading the feed.var FeedCache = {  mFeeds: new Array(),  putFeed: function (aFeed)  {    this.mFeeds[this.normalizeHost(aFeed.url)] = aFeed;  },  getFeed: function (aUrl)  {    return this.mFeeds[this.normalizeHost(aUrl)];  },  removeFeed: function (aUrl)  {    delete this.mFeeds[this.normalizeHost(aUrl)];  },  normalizeHost: function (aUrl)  {    var ioService = Components.classes["@mozilla.org/network/io-service;1"].                    getService(Components.interfaces.nsIIOService);    var normalizedUrl = ioService.newURI(aUrl, null, null);    normalizedUrl.host = normalizedUrl.host.toLowerCase();    return normalizedUrl.spec;  }};function Feed(aResource, aRSSServer) {  this.resource = aResource.QueryInterface(Components.interfaces.nsIRDFResource);  this.server = aRSSServer;}Feed.prototype = {  description: null,  author: null,  request: null,  server: null,  downloadCallback: null,  resource: null,  items: new Array(),  mFolder: null,  get folder()  {    if (!this.mFolder)    {      try       {        this.mFolder = this.server.rootMsgFolder.getChildNamed(this.name);      } catch (ex) {}    }    return this.mFolder;  },  set folder (aFolder)   {    this.mFolder = aFolder;  },  get name()  {    var name = this.title || this.description || this.url;    if (!name)      throw("couldn't compute feed name, as feed has no title, description, or URL.");    // Make sure the feed name doesn't have any line breaks, since we're going    // to use it as the name of the folder in the filesystem.  This may not    // be necessary, since Mozilla's mail code seems to handle other forbidden    // characters in filenames and can probably handle these as well.    name = name.replace(/[\n\r\t]+/g, " ");    // Make sure the feed doesn't end in a period to work around bug 117840.    name = name.replace(/\.+$/, "");    return name;  },  download: function(aParseItems, aCallback)   {     this.downloadCallback = aCallback; // may be null     // Whether or not to parse items when downloading and parsing the feed.    // Defaults to true, but setting to false is useful for obtaining    // just the title of the feed when the user subscribes to it.    this.parseItems = aParseItems == null ? true : aParseItems ? true : false;    // Before we do anything...make sure the url is an http url. This is just a sanity check    // so we don't try opening mailto urls, imap urls, etc. that the user may have tried to subscribe to     // as an rss feed..    var uri = Components.classes["@mozilla.org/network/standard-url;1"].                        createInstance(Components.interfaces.nsIURI);    uri.spec = this.url;    if (!(uri.schemeIs("http") || uri.schemeIs("https")))      return this.onParseError(this); // simulate an invalid feed error    // Before we try to download the feed, make sure we aren't already processing the feed    // by looking up the url in our feed cache    if (FeedCache.getFeed(this.url))    {      if (this.downloadCallback)        this.downloadCallback.downloaded(this, kNewsBlogFeedIsBusy);      return ; // don't do anything, the feed is already in use    }    this.request = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]                   .createInstance(Components.interfaces.nsIXMLHttpRequest);    this.request.onprogress = this.onProgress; // must be set before calling .open    this.request.open("GET", this.url, true);    var lastModified = this.lastModified;    if (lastModified)      this.request.setRequestHeader("If-Modified-Since", lastModified);    this.request.overrideMimeType("text/xml");    this.request.onload = this.onDownloaded;    this.request.onerror = this.onDownloadError;    FeedCache.putFeed(this);    this.request.send(null);  },   onDownloaded: function(aEvent)   {    var request = aEvent.target;    var url = request.channel.originalURI.spec;    debug(url + " downloaded");    var feed = FeedCache.getFeed(url);    if (!feed)      throw("error after downloading " + url + ": couldn't retrieve feed from request");    // if the request has a Last-Modified header on it, then go ahead and remember    // that as a property on the feed so we can use it when making future requests.        var lastModifiedHeader = request.getResponseHeader('Last-Modified');    if (lastModifiedHeader)      this.lastModified = lastModifiedHeader;    feed.parse(); // parse will asynchronously call the download callback when it is done  },     onProgress: function(aEvent)   {    var request = aEvent.target;    var url = request.channel.originalURI.spec;    var feed = FeedCache.getFeed(url);    if (feed.downloadCallback)      feed.downloadCallback.onProgress(feed, aEvent.position, aEvent.totalSize);  },  onDownloadError: function(aEvent)   {    var request = aEvent.target;    var url = request.channel.originalURI.spec;    var feed = FeedCache.getFeed(url);    if (feed.downloadCallback)     {      // if the http status code is a 304, then the feed has not been modified since we last downloaded it.      var error = kNewsBlogRequestFailure;      try      {        if (request.status == 304)          error = kNewsBlogNoNewItems;      } catch (ex) {}      feed.downloadCallback.downloaded(feed, error);    }        FeedCache.removeFeed(url);  },  onParseError: function(aFeed)   {    if (aFeed && aFeed.downloadCallback)    {      if (aFeed.downloadCallback)        aFeed.downloadCallback.downloaded(aFeed, aFeed.request && aFeed.request.status == 304 ? kNewsBlogNoNewItems : kNewsBlogInvalidFeed);      FeedCache.removeFeed(aFeed.url);    }  },  get url()  {    var ds = getSubscriptionsDS(this.server);    var url = ds.GetTarget(this.resource, DC_IDENTIFIER, true);    if (url)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看在线综合| 国产精品自拍一区| 一区二区三区四区国产精品| 日本一区二区三区dvd视频在线| 日韩免费看的电影| 欧美岛国在线观看| 国产亚洲污的网站| 中文字幕中文字幕一区二区 | 一区二区三区在线视频免费观看| 国产精品久久久久国产精品日日 | 欧美日韩久久不卡| 678五月天丁香亚洲综合网| 国产精品欧美久久久久一区二区| 777午夜精品免费视频| 91麻豆国产香蕉久久精品| 国产成人精品1024| 93久久精品日日躁夜夜躁欧美| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 91蜜桃视频在线| 欧美伊人精品成人久久综合97| 精品视频资源站| 日韩欧美二区三区| 国产精品久久久久久一区二区三区 | 久久国产精品免费| 成人精品免费网站| 在线视频欧美精品| 日韩精品一区二区三区在线观看| 国产欧美精品国产国产专区| 亚洲精品中文字幕在线观看| 日日夜夜精品视频免费| 国产成人av电影在线观看| 色噜噜狠狠色综合中国| 欧美一区二区三区视频| 中文字幕欧美三区| 亚洲国产成人va在线观看天堂| 老司机免费视频一区二区三区| 波多野结衣中文字幕一区| 欧美剧在线免费观看网站| 久久久影视传媒| 石原莉奈在线亚洲二区| 成人免费毛片app| 精品女同一区二区| 亚洲黄色小说网站| 成人一级视频在线观看| 日韩午夜在线观看视频| 亚洲毛片av在线| 国产精品一区二区不卡| 制服丝袜亚洲网站| 中文字幕综合网| 国产成人精品综合在线观看| 国产午夜亚洲精品羞羞网站| 亚洲大片在线观看| 91免费观看视频| 亚洲国产精品二十页| 久久国产精品露脸对白| 欧美探花视频资源| 亚洲欧美另类在线| 丰满岳乱妇一区二区三区| 精品人在线二区三区| 丝袜a∨在线一区二区三区不卡| 成人午夜电影网站| 久久久精品tv| 国产精品99久| 久久久久97国产精华液好用吗| 免费观看日韩电影| 日韩三级在线观看| 天堂一区二区在线| 欧美日韩国产影片| 亚洲不卡一区二区三区| 在线观看日韩国产| 亚洲第一久久影院| 欧美日本免费一区二区三区| 精品国产一区二区精华| 欧美吞精做爰啪啪高潮| 亚洲成av人片一区二区| 欧美性xxxxxx少妇| 日韩国产精品久久久久久亚洲| 欧美吻胸吃奶大尺度电影 | 欧美精品1区2区| 亚洲444eee在线观看| 欧美久久久久久蜜桃| 天天综合天天综合色| 日韩一区二区免费高清| 久久机这里只有精品| 久久一区二区三区国产精品| 国产不卡在线视频| 亚洲精品欧美激情| 欧美色倩网站大全免费| 免费人成黄页网站在线一区二区| 91精品国产综合久久精品麻豆| 久久成人免费网| 国产精品热久久久久夜色精品三区| 成人黄色在线看| 亚洲精品亚洲人成人网在线播放| 欧美四级电影在线观看| 另类小说一区二区三区| 欧美国产一区在线| 在线日韩av片| 激情六月婷婷综合| 亚洲欧美日本韩国| 日韩欧美一级精品久久| 成人午夜在线视频| 亚洲国产日韩一区二区| 精品噜噜噜噜久久久久久久久试看| 国产麻豆精品95视频| 亚洲精品自拍动漫在线| 日韩欧美在线123| 成人黄色av网站在线| 亚洲成在人线免费| 欧美国产综合一区二区| 在线综合亚洲欧美在线视频| 成人免费av资源| 久久精品久久99精品久久| 自拍偷在线精品自拍偷无码专区 | 3atv在线一区二区三区| 成熟亚洲日本毛茸茸凸凹| 亚洲成人午夜电影| 中文av一区特黄| 欧美一级夜夜爽| av亚洲精华国产精华精| 久久国产综合精品| 一区二区三区中文字幕在线观看| 日韩欧美亚洲一区二区| 日本韩国精品一区二区在线观看| 美女国产一区二区| 亚洲高清免费观看高清完整版在线观看| 久久久精品黄色| 欧美成人一区二区| 欧美精品丝袜久久久中文字幕| 成人免费视频caoporn| 久久国产精品无码网站| 五月婷婷欧美视频| 一卡二卡欧美日韩| 亚洲天堂免费在线观看视频| 国产午夜精品久久| 国产亚洲成aⅴ人片在线观看| 日韩一卡二卡三卡国产欧美| 欧美性极品少妇| 在线区一区二视频| 色婷婷精品久久二区二区蜜臀av| 国产一区二区毛片| 国产在线精品一区二区三区不卡| 青青草成人在线观看| 日韩福利电影在线| 日本成人在线电影网| 日欧美一区二区| 男女视频一区二区| 成人av网站免费观看| 国产成人亚洲综合色影视| 黑人精品欧美一区二区蜜桃| 精品亚洲成av人在线观看| 美女脱光内衣内裤视频久久影院| 石原莉奈一区二区三区在线观看| 午夜在线电影亚洲一区| 三级久久三级久久久| 免费在线观看精品| 久久99久久精品| 国产999精品久久久久久| 国产成人啪免费观看软件| 丰满少妇久久久久久久| av综合在线播放| 色狠狠一区二区| 欧美高清精品3d| 久久综合九色综合欧美98 | www.66久久| 在线观看亚洲a| 欧美一级视频精品观看| 精品国产一区二区三区久久影院 | av毛片久久久久**hd| 日本高清无吗v一区| 91精品国产综合久久精品| 久久综合色鬼综合色| 亚洲欧洲综合另类| 日韩精品成人一区二区三区 | 日本一区二区三区电影| 欧美日韩一二三| 日韩三级免费观看| 精品国产免费人成电影在线观看四季| 精品国产污污免费网站入口| 国产女同互慰高潮91漫画| 一区二区三区在线视频观看| 麻豆精品一区二区av白丝在线| 国产成人av电影在线观看| 在线中文字幕不卡| 亚洲精品一区二区三区蜜桃下载| 国产精品私人影院| 亚洲成人你懂的| 成人性色生活片| 欧美一区中文字幕| 亚洲三级电影网站| 狠狠色丁香婷综合久久| 欧美主播一区二区三区| 久久精品网站免费观看| 午夜成人免费视频| 成人在线综合网站| 日韩欧美国产小视频| 亚洲精品欧美在线| 国产久卡久卡久卡久卡视频精品| 91传媒视频在线播放| 国产精品久久久一本精品|