摘要:輕輕那么一點,華盛頓郵報的應用就出來了,還能夠通過自定義元素安裝??墒俏胰タ礊g覽器地址欄的時候并不是華盛頓郵報。
本文轉載自:眾成翻譯
譯者:文藺
鏈接:http://www.zcfy.cc/article/826
原文:https://medium.com/@adactio/backdoor-service-workers-86d241d79996#.bfuq4cdih
在漸進式 Web App 開發峰會(Progressive Web App dev Summit)上展示的時候,我花了差不多 20 分鐘講了這樣一點:
Alex,你昨天演講展示了華盛頓郵報(Washington Post)的 AMP (——譯者注:Accelerated Mobile Pages Project) demo。輕輕那么一點,華盛頓郵報的 AMP 應用就出來了,還能夠通過自定義元素安裝 Service Worker??墒俏胰タ礊g覽器地址欄的時候……并不是華盛頓郵報。只是 AMP 的 CDN 而已。所以我和 AMP 團隊的 Paul Backaus 聊了聊,他解釋說那是一個 iframe,使用 iframe 能安裝其他地方的 Service Worker。
Alex 和 Emily 解釋說,嗯,這就是 iframe 的工作方式。當你仔細想想,其實還是挺有意義的,畢竟一個 iframe 和任何其他的瀏覽器窗口沒什么不一樣的。盡管如此,這還是會讓人覺得有點違反最小驚奇原則。
讓我們假設,你遵循了我這并不當真的建議,去創建一個漸進式的 Web 應用商店,其首頁可能有最新的十到二十個漸進式 Web App。你也可以同樣地使用十到二十個 iframe,以便給瀏覽頁面的用戶“預安裝”( pre-install )這些網站。
理論扯夠了。現在來點實際操作……
假設你從未訪問過我寫的書的網站,html5forwebdesigners.com(如果你訪問過,又還想跟著我把實驗進行下去,那么你得打開瀏覽器設置然后刪除這個域下面存的所有東西)。
也許你曾不經意間訪問過我的個人網站adactio.com。主頁下面有個小廣告,上面寫著“Read my book”,鏈接指向html5forwebdesigners.com。我在鏈接后面加了這樣兩行標記:
該隱藏的 iframe 會拉取帶有一個 script 元素的空頁面。
HTML5 For Web Designers
這樣就注冊了我的書籍網站的 Service Worker,然后就開始下載所有離線渲染整個網站所需的資源。
搞定了。從未訪問過 html5forwebdesigners.com 這個域名,但網站已經在你的設備上預加載過了,一切僅僅因為你訪問過 adactio.com。
一些注意事項:
我不得不降低 html5forwebdesigners.com 的內容安全策略(Content Security Policy),以允許能通過 iframe 將其嵌入 adactio.com:
Header always set Access-Control-Allow-Origin: “https://adactio.com"
若你的瀏覽器設置選擇了“禁止第三方 cookie 及 網站數據”(“Block third-party cookies and site data”),通過 iframe 調用的 Service Worker 是不會被安裝的:
Uncaught (in promise) DOMException: Failed to register a ServiceWorker: The user denied permission to use Service Worker.
我在本文中的示例相對來說是無害的。不過,可以難想象一些更加極端的情形。想象有一家出版商,有 50 種出版物,每本書有一個網站。每個網站都可能有一個空頁面,等待著通過 iframe 被其他 49 個網站嵌入。你只需要訪問其中一個頁面,就會有 50 個Service Workers 在后臺運轉起來緩存資源。
這就有了“公地悲劇”的潛在可能。希望我們能清楚的知道,如何去使用這力量。
千萬別讓廣告狗們知道哦!(直譯:千萬別給廣告行業知道這。)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80002.html
摘要:而一個文件名表明將只捕獲在下的請求。包含請求主體其被包含在對象中。該方法將首先緩存響應但隨后在后臺網絡請求。被用來提供響應針對請求。一旦這個異步操作完成后操作將終止。 翻譯:jsdt原文標題:Understanding Service Workers原文鏈接:http://blog.88mph.io/2017/07/...聲明:轉載請指明出處。 在網絡早期,很難想象在用戶離線的時候一個...
摘要:基本上是使用現代技術構建的網站但是體驗上卻像一個移動,在年,谷歌工程師和創造了。此后谷歌就一直致力于讓能給用戶像原生一般的體驗。檢查谷歌瀏覽器的和現在重載你的并且打開,到選項去查看面板,確保這個選項是勾選的。 Web開發多年來有了顯著的發展。它允許開發人員部署網站或Web應用程序并在數分鐘內為全球數百萬人服務。只需一個瀏覽器,用戶可以輸入URL就可以訪問Web應用程序了。隨著 Prog...
摘要:基本上是使用現代技術構建的網站但是體驗上卻像一個移動,在年,谷歌工程師和創造了。此后谷歌就一直致力于讓能給用戶像原生一般的體驗。檢查谷歌瀏覽器的和現在重載你的并且打開,到選項去查看面板,確保這個選項是勾選的。 Web開發多年來有了顯著的發展。它允許開發人員部署網站或Web應用程序并在數分鐘內為全球數百萬人服務。只需一個瀏覽器,用戶可以輸入URL就可以訪問Web應用程序了。隨著 Prog...
閱讀 2858·2021-07-30 15:30
閱讀 553·2019-08-30 15:55
閱讀 1621·2019-08-26 17:04
閱讀 633·2019-08-26 11:36
閱讀 2064·2019-08-26 10:58
閱讀 3549·2019-08-23 14:34
閱讀 1558·2019-08-22 18:48
閱讀 2522·2019-08-21 17:51