登出了十张自拍照,连不上网

连不上网?U.K.卫报的特性离线页面是这么做的

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
网站,我们多年来上线了三个自定义的离线体验效果。当用户离线的时候,他们会合到多个带有
Guardian
标识的页面,上边带有2个回顾的离线提醒,还有三个填字游戏,他们得以在等候互连网连接的时候玩玩这么些找点乐子。那篇博客解释了咱们是什么创设它的,不过在始发此前,你可以先本人尝试看。

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

财力CEO老鼠仓,说好保本变巨亏,买基金被坑请到【资本暴露台登出了十张自拍照,连不上网。】!信用卡无故遭盗刷,银行存款变保障,理财被骗请猛戳【金融揭露台】!

试试看

你须要二个支撑 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,你晤面到专门为你订制的性情化内容,它们是在您前面访问网站时由浏览器缓存下来的。它在设置进程中也不会发出其余困难,你所急需的只是访问那一个网站而已,不像原生应用,还亟需用户有2个运用公司的账号才能安装。Serviceworker
同样能够支持大家提高网站的加载速度,因为网站的框架能够被保证地缓存下来,就像原生应用相同。

万一您对 service worker
很感兴趣,想要明白更多内容的话,开发者 马特Gaunt(Chrome的忠诚援救者)写了一篇特别详实地 介绍 Service
Worker的文章。

打赏支持本身翻译越多好作品,多谢!

打赏译者

get value:

  FX168财政和经济报社(香江)讯
周天(八月2216日)United Kingdom财政大臣在会议实行了二零一九年的三秋声称,除了宣布预算权利办公室(OB帕杰罗)对一石两鸟前景和国有借贷的料想外,还颁发实施数项财政新政,目的在于稳步回落财赤的同时,适度减税增支以扶助经济。对此,专家纷繁予以评论。其中United Kingdom卫报的专家团评论如下:

打赏扶助自个儿翻译更加多好小说,多谢!

图片 3

1 赞 收藏
评论

window.navigator.onLine

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

关于小编:Erucy

图片 4

早已的SharePoint喵星程序猿(近期还挂着微软MVP的名头),今后的Azure/.Net/MongoDB/Cordova/前端程序猿,偶尔写小说
个人主页 ·
小编的稿子 ·
46 ·
  

图片 5

  哈Mond的金天声称面临着两大阻力:其前任留下的光辉窟窿以及英帝国快要退欧的真情。上任财政大臣奥斯本在任期内执行压缩政策以完毕在后年此前落成财政收入和支出平衡的指标,而近来的当局不得不将这一对象的兑现延期至2025年。

  同时哈Mond所表示的OB瑞虎对退欧的震慑并不明朗:经济拉长收缩2.4%,借贷扩大1220亿英镑,国家债务占GDP比例将在2017-18年度攀升至90.2%。英帝国财政部所面临的下压力总而言之。

  明日所透露的国策基本上都以指向所谓“JAM”一族(工资低、负担重的薪金家庭):进步最低报酬、下降燃油税、提升个税起征额、承诺越多的廉价住房、监管财富价格等。但哈Mond的更高志向在于狠抓生产能力,他信任那才是足以在以后数十年内制作经济蓬勃、推行公平公正的重中之重。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图