澳门新葡亰网站:登出了十张自拍照,连不上网

连不上网?大不列颠及苏格兰联合王国卫报的秉性离线页面是如此做的

2015/11/20 · HTML5 · Service
Worker,
澳门新葡亰网站:登出了十张自拍照,连不上网。离线页面

本文由 伯乐在线 –
Erucy
翻译,weavewillg
校稿。未经许可,禁止转发!
英文出处:Oliver
Ash。欢迎加入翻译组。

大家是什么样运用 service worker 来为 theguardian.com
构建二个自定义的离线页面。

澳门新葡亰网站 1

theguardian.com 的离线页面。插图:奥利弗 Ash

您正在朝着集团途中的客车里,在手提式无线电话机上开拓了
Guardian
应用。客车被隧道包围着,不过那么些应用能够符合规律运维,固然没有网络连接,你也能博得完全的效应,除了体现的始末可能有点旧。假诺你品尝在网站上也那样干,可惜它完全没办法加载:

澳门新葡亰网站 2

安卓版 Chrome 的离线页面

Chrome 中的那几个彩蛋,很四人都不了然》

Chrome
在离线页面上有个藏匿的娱乐(桌面版上按空格键,手提式有线话机版上点击那只恐龙),那多少能减轻一点你的非常慢。可是我们得以做得更好。

Service
workers
允许网站俺拦截自个儿站点的富有互连网请求,那也就象征大家得以提供周到的离线体验,就像是原生应用相同。在
Guardian
网站,我们近期上线了1个自定义的离线体验效果。当用户离线的时候,他们会看到一个蕴涵Guardian
标识的页面,下边带有八个简单易行的离线提示,还有三个填字游戏,他们能够在等候互连网连接的时候玩玩这一个找点乐子。那篇博客解释了笔者们是何等营造它的,但是在伊始此前,你能够先本身摸索看。

callback:

安迪·沃霍尔自拍照,1981年。

沃霍尔是20世纪60年代波普艺术的代表人物,将丝网印刷技术玩的得心应手的同时,沃霍尔本人十分喜欢用宝丽来拍照,部分照片为他的创作提供了参照,绝大多数照片也被秘密地归类存档。荣登NO.1的是他的一幅最有名的自拍照,夸张的假发造型非常引人注目。

Giles Duley 《故事的开始》,2011年。

被阿富汗地雷夺取两条腿和左臂9个月后,Duley拍摄了这张大胆的黑白自拍照。“当我仍然在重症监护室时,一个想法一直在我的脑海——拍摄一张自拍照,并且就叫它“破碎的雕像”。

希波利特·巴耶尔《扮成一个溺水者》,1840年。

这张照片是法国摄影师巴耶尔的名作,摄影师本人扮作一名溺水身亡者,裸露着上半身向右靠着。这张照片极有可能是人体摄影史上最早的男性裸体照片(尽管是半裸),使得巴耶尔成为人体摄影的先驱。

维吉《警车里的自拍照》,1940年。

1938年前后,维吉开始采用红外线闪光和红外线感光片在禁止摄影的场合不引人注目地拍摄。维吉与曼哈顿警局有着良好的合作关系,他在警局设有办事处,并在自己的汽车中安装了一个警用无线电装置,这给他提供了极大的便利。期间,维吉拍摄并发表5000多幅报道图片,使他成为纽约最著名的新闻摄影记者。1945年,维吉利用这些照片出版了画册《赤裸的城市》。

John Coplans《床上,双臂放在上面》,1984年。

伦敦出生的John Coplans以画家身份在美国受到好评。经过漫长的沉寂后,他在68岁时拿起相机,以自拍的手法记录自己衰老臃肿的身体局部。这张自拍照拍摄于1979年,是他这一系列中的一张,作品同时表现了衰老与阳刚之气,而把整个后背当做自拍照的主题,也大大颠覆了传统自拍照的概念。

Trish Morrissey 《海莉科尔斯》,2006年。

Morrissey的系列作品《Front》(2005-2007),是摄影师在英国的各个海滩、墨尔本以及周边地区,寻找一个个真实的家庭,之后本人穿上家庭中女性成员的衣服,取代家庭中的女性角色拍摄而成的。她的作品超越了传统自拍照的边界,探讨一种固定的家庭观念。

南·戈尔丁《我和十字架一起在床上》,1988年。

这张个性的自拍照记录了戈尔丁在戒毒诊所,接受药物和酒精成瘾治疗的过程。照片中她的脸是模糊的,但握住枕头的手,和这家机构的Logo是清晰的。床边的小十字架诉说着她的坚定信念。戈尔丁可谓是当今私摄影的鼻祖。她与各种自我放逐于美国主流社会以外的青年人共同生活。在这期间,戈尔丁怀着“自己记录自己的历史”的愿望,开始以摄影方式如实拍摄他们的群体生活,不作任何修饰,赤裸裸地展示了处于社会主流边缘的一部分美国青年的生活实态。

李·弗里德兰德《纽约市》,1966年。

弗里德兰德从50年代起,便开始记录美国居民的日常生活,线条和反差冷硬的图片风格为美国黑白摄影立下典范。他的作品乍看起来像是信手拈来的,实际上却是经过深思熟虑的、具有巧妙的多层面的景观。他常利用门廊、窗户和路灯杆划分画面的结构,还在作品中通过渲染气氛,使熟悉的人物和景物变得不可思议。

弗朗西斯卡·伍德曼《罗德岛》,1976年。

1958年出生的美国艺术家弗朗西斯卡·伍德曼,以拍摄自己或女模特的黑白照片闻名。她大多数作品中的人物是裸体的,并倾向通过相机的运动或长时间曝光的手法使人物的面孔与环境融为一体,她于1981年自杀身亡,年仅22岁。1981年期间,她拍摄了许多有趣的自拍照,照片与她通常的表现形式不同,以正面清晰的图像示人,看起来非常憔悴,她的影子则留在了地板上。

Gillian Wearing 《像我父亲Brian Wearing》,2003年。

在英国艺术家Gillian Wearing的一系列自拍照中,她把自己装扮成真实家庭成员:母亲、父亲、叔叔或自己的年轻版。这张有趣的自拍照是她装扮成自己父亲的形象。照片中父亲是一位年轻帅气的男子,穿着正统的西装。通过以家庭相册为基础,上演自拍照的形式,摄影师成功的掩盖了自己的身份又呈现了其中遗传基因的相似性,让照片变得神秘而不安。

开支老总老鼠仓,说好保本变巨亏,买基金被坑请到【资金暴露台】!信用卡无故遭盗刷,银行存款变保障,理财被骗请猛戳【经济暴光台】!

试试看

您要求2个支持 Service
Worker 和 fetch
API 的浏览器。结束到本文编写时唯有Chrome(手提式有线电话机版和桌面版)同时支持那二种 API(译者注:Opera
近来也支撑这多头),然则 Firefox
非常的慢就要扶助了(在每一日更新的本子中早就支撑了),而外 Safari
之外的保有浏览器也都在试行。其它,service worker 只好登记在选拔了
HTTPS 的网站上,theguardian.com
已经上马逐步搬迁到 HTTPS,所以大家只可以在网站的 HTTPS
部分提供离线体验。就如今的话,大家挑选了 开发者博客 作为大家用来测试的地点。所以借使你是在大家网站的 开发者博客 部分阅读那篇文章的话,很幸运。

当您采纳帮衬的浏览器访问大家的 开发者博客 中的页面包车型大巴时候,一切就准备稳妥了。断开你的网络连接,然后刷新一下页面。假使你协调没规范尝试的话,能够看一下这段 演示录制(译者注:需梯子)。

 window.addEventListener('offline',  function(){});

  原标题:英帝国卫报专家团:冬季注明将如何改变United Kingdom

工作规律

经过一段简单的
JavaScript,大家得以提醒浏览器在用户访问页面包车型客车时候立即登记大家和好的
service worker。最近支撑 service worker
的浏览器很少,所以为了防止不当,咱们须要选用性子检查和测试。

JavaScript

if (navigator.serviceWorker) {
navigator.serviceWorker.register(‘/service-worker.js’); }

1
2
3
if (navigator.serviceWorker) {
    navigator.serviceWorker.register(‘/service-worker.js’);
}

Service worker
安装事件的一部分,大家能够行使 新的缓存
API 来缓存大家网站中的各样内容,比如
HTML、CSS 和
JavaScript:

JavaScript

var staticCacheName = ‘static’; var version = 1; function updateCache()
{ return caches.open(staticCacheName + version) .then(function (cache) {
return cache.addAll([ ‘/offline-page.html’, ‘/assets/css/main.css’,
‘/assets/js/main.js’ ]); }); }; self.addEventListener(‘install’,
function (event) { event.waitUntil(updateCache()); });

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var staticCacheName = ‘static’;
var version = 1;
 
function updateCache() {
    return caches.open(staticCacheName + version)
        .then(function (cache) {
            return cache.addAll([
                ‘/offline-page.html’,
                ‘/assets/css/main.css’,
                ‘/assets/js/main.js’
            ]);
        });
};
 
self.addEventListener(‘install’, function (event) {
    event.waitUntil(updateCache());
});

当安装到位后,service worker
能够监听和控制 fetch
事件,让大家能够完全控制之后网站中产生的富有网络请求。

JavaScript

self.addEventListener(‘fetch’, function (event) {
event.respondWith(fetch(event.request)); });

1
2
3
self.addEventListener(‘fetch’, function (event) {
    event.respondWith(fetch(event.request));
});

在此间大家有很灵活的长空能够发布,比如上面这些典型,能够由此代码来生成大家友好的请求响应:

JavaScript

self.addEventListener(‘fetch’, function (event) { var response = new
Response(‘<h1>Hello, World!</h1>’, { headers: {
‘Content-Type’: ‘text/html’ } }); event.respondWith(response); });

1
2
3
4
5
self.addEventListener(‘fetch’, function (event) {
    var response = new Response(‘&lt;h1&gt;Hello, World!&lt;/h1&gt;’,
        { headers: { ‘Content-Type’: ‘text/html’ } });
    event.respondWith(response);
});

再有这些,假设在缓存中找到了请求相应的缓存,我们能够直接从缓存中回到它,假如没找到的话,再经过互联网获得响应内容:

JavaScript

self.addEventListener(‘fetch’, function (event) { event.respondWith(
caches.match(event.request) .then(function (response) { return response
|| fetch(event.request); }) ); });

1
2
3
4
5
6
7
8
self.addEventListener(‘fetch’, function (event) {
    event.respondWith(
        caches.match(event.request)
            .then(function (response) {
                return response || fetch(event.request);
            })
    );
});

那么大家什么使用那些效用来提供离线体验呢?

首先,在 service worker
安装进程中,大家要求把离线页面需求的 HTML 和财富文件通过 service worker
缓存下来。在缓存中,大家加载了和谐开支的 填字游戏 的
React应用 页面。之后,大家会阻拦全体访问
theguardian.com
互联网请求,包涵网页、以及页面中的能源文件。处理那个请求的逻辑大约如下:

  1. 当大家检测到传播请求是指向大家的 HTML
    页面时,大家总是会想要提供最新的故事情节,所以我们会尝试把那几个请求通过互联网发送给服务器。

    1. 当大家从服务器得到了响应,就能够直接回到那个响应。
    2. 万一互连网请求抛出了万分(比如因为用户掉线了),大家捕获这几个那么些,然后利用缓存的离线
      HTML 页面作为响应内容。
  2. 不然,当我们检查和测试到请求的不是 HTML
    的话,大家会从缓存中检索响应的伸手内容。

    1. 即便找到了缓存内容,大家得以一向回到缓存的始末。
    2. 要不,大家会尝试把这么些请求通过网络发送给服务器。

在代码中,我们运用了 新的缓存
API(它是 Service Worker API 的一有的)以及
fetch
效能(用于转移互联网请求),如下所示:

JavaScript

var doesRequestAcceptHtml = function (request) { return
request.headers.get(‘Accept’) .split(‘,’) .some(function (type) { return
type === ‘text/html’; }); }; self.addEventListener(‘fetch’, function
(event) { var request = event.request; if
(doesRequestAcceptHtml(request)) { // HTML pages fallback to offline
page event.respondWith( fetch(request) .catch(function () { return
caches.match(‘/offline-page.html’); }) ); } else { // Default fetch
behaviour // Cache first for all other requests event.respondWith(
caches.match(request) .then(function (response) { return response ||
fetch(request); }) ); } });

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var doesRequestAcceptHtml = function (request) {
    return request.headers.get(‘Accept’)
        .split(‘,’)
        .some(function (type) { return type === ‘text/html’; });
};
 
self.addEventListener(‘fetch’, function (event) {
    var request = event.request;
    if (doesRequestAcceptHtml(request)) {
        // HTML pages fallback to offline page
        event.respondWith(
            fetch(request)
                .catch(function () {
                    return caches.match(‘/offline-page.html’);
                })
        );
    } else {
        // Default fetch behaviour
        // Cache first for all other requests
        event.respondWith(
            caches.match(request)
                .then(function (response) {
                    return response || fetch(request);
                })
        );
    }
});

就只必要这么多!theguardian.com
上的 全部代码都是在 GitHub
上开源 的,所以你能够去那儿查看大家的
service worker
的完整版本,或许直接从生育环境上访问

小编们有充足的说辞为这一个新的浏览器技术欢呼喝彩,因为它能够用来让您的网站像今天的原生应用相同,拥有完善的离线体验。以后当
theguardian.com 完全迁移到 HTTPS
之后,离线页面包车型地铁严重性性会显明增多,我们得以提供越来越圆满的离线体验。设想一下你在上下班途中互联网很差的时候访问
theguardian.com,你会看到专门为你订制的特性化内容,它们是在您后面访问网站时由浏览器缓存下来的。它在设置进程中也不会产生任何困难,你所要求的只是造访那些网站而已,不像原生应用,还亟需用户有二个运用商店的账号才能设置。Serviceworker
同样可以协助大家提高网站的加载速度,因为网站的框架能够被保障地缓存下来,仿佛原生应用相同。

要是你对 service worker
很感兴趣,想要精晓越多内容的话,开发者 马特Gaunt(Chrome的忠贞协理者)写了一篇特别详实地 介绍 Service
Worker的文章。

打赏支持自身翻译越来越多好文章,多谢!

打赏译者

get value:

  FX168财政和经济报社(香港(Hong Kong))讯
周五(6月12日)United Kingdom财政大臣在集会进行了当年的金秋表明,除了宣布预算义务办公室(OBCRUISER)对经济前景和集体借贷的预期外,还揭破实施数项财政新政,意在稳步下滑财赤的还要,适度减税增加支出以支撑经济。对此,专家纷纭予以评论。当中United Kingdom卫报的专家团评论如下:

打赏援助我翻译更多好文章,感激!

澳门新葡亰网站 3

1 赞 收藏
评论

window.navigator.onLine

  马特hew d’Ancona——对退欧凄惨后果的体面预测

至于小编:Erucy

澳门新葡亰网站 4

已经的SharePoint喵星程序猿(临时还挂着微软MVP的名头),未来的Azure/.Net/MongoDB/科尔多瓦/前端程序猿,偶尔写随笔
个人主页 ·
笔者的篇章 ·
46 ·
  

澳门新葡亰网站 5

  哈Mond的夏日注解面临着两大障碍:其前任留下的远大窟窿以及United Kingdom快要退欧的真相。上任财政大臣奥斯本在任期内执行压缩政策以高达在二零二零年以前达成财政收入和支出平衡的对象,而近年来的内阁只可以将这一对象的兑现延期至2025年。

  同时哈Mond所表示的OB本田UR-V对退欧的熏陶并不开始展览:经济增加缩小2.4%,借贷增添1220亿英镑,国家债务占GDP比例将在2017-18年份攀升至90.2%。U.K.财政部所面临的压力总之。

  明日所布告的策略基本上都以针对性所谓“JAM”一族(工资低、负担重的报酬家庭):提升最低报酬、下落燃油税、提升个税起征额、承诺越来越多的减价住房、监管财富价格等。但哈Mond的更高志向在于进步生产能力,他深信那才是能够在未来数十年内制造经济蓬勃、推行公平正义的重大。

相关文章