輯導(dǎo)讀:Adobe Flash退出歷史舞臺,有人唏噓,有人感慨,有人遺憾。基于此,本文作者回顧了Adobe Flash20多年的歷史沉浮,希望對你有幫助。
篇幅關(guān)系,我們分兩部分刊出,此為第二部分。
全面回顧這一平臺的過去時,得出它為Web所做出的貢獻遠大于破壞這一結(jié)論并不難。
劃重點:
除了易于使用的繪畫工具以及共同構(gòu)成Flash基礎(chǔ)的Web播放器插件以外,F(xiàn)lash的另一個關(guān)鍵元素是它的多功能性。
隨著Flash不斷擴展自己的能力,它造就了一個產(chǎn)業(yè),孵化出動畫、游戲、Web開發(fā)、在線廣告以及網(wǎng)絡(luò)視頻等領(lǐng)域大大小小的無數(shù)公司。
到底是誰殺死了Flash?從某種程度來說,我們都是共謀。但主犯是Adobe、Macromedia以及蘋果。
到1998年,F(xiàn)lash已經(jīng)在Web上站穩(wěn)了腳跟。對于那些想要對當時的Web標準所提供的東西更酷炫一點的網(wǎng)站開發(fā)者來說,F(xiàn)lash是事實上的選擇。在那些把Web看成是令人興奮的新媒介的創(chuàng)意藝術(shù)家當中,F(xiàn)lash越來越受歡迎。
除了易于使用的繪畫工具以及共同構(gòu)成Flash基礎(chǔ)的Web播放器插件以外,另一個關(guān)鍵元素是它的多功能性。這種多功能性源于Flash將多媒體內(nèi)容與交互性結(jié)合在一起的能力。時至今日, Gay也承認,作為Flash取得巨大成功的關(guān)鍵組成部分,互動性要歸功于MacUser 雜志的一位記者。
Gay說:“FutureSplash Animator發(fā)布前我們給這幫家伙看了預(yù)覽。其中一位看過的人說,‘你真的應(yīng)該加個按鈕上去。’ 我們的態(tài)度是:“一個按鈕!?看起來是個好主意。”
在發(fā)布之前,F(xiàn)lash的程序員已經(jīng)弄好了播放、停止、搜索和定位框之類的按鈕。Gay說:“做互動差不多是最后一分鐘的事。這項功能確實很簡單。但卻它發(fā)揮了很大的作用。這絕對是那位評測人的點子。”
有了這項簡單功能之后,F(xiàn)lash可就不僅僅是有主動性,不僅僅只是動畫引擎了。它甚至可以(而且經(jīng)常會)為整個網(wǎng)站提供支撐。當然,這件事情是好是壞很難說,因為Flash的兩面誰都看得見:基于Flash的網(wǎng)站既有行為的荒誕,也有帶動起來的繁榮。
在Flash 2推出之后,這種基本的交互性還獲得了類似gotoAndPlay 或nextScene之類的嵌套功能的支持,從而可以控制在時間軸里面的位置。有個聰明人意識到了這些新功能的真正潛力,于是跟人共同開發(fā)了一款基于Flash的彈球游戲。Gay說:“我們覺得這是不可能的。 但是不可能每天都會出現(xiàn)——開發(fā)者總能把事情給搞定。”
Web漫畫《 Silicon Slip》,1996年發(fā)行,因為Flash才有了誕生的可能。
Tom Fulp 就是其中一位挑戰(zhàn)極限的開發(fā)人員,當時他擁有一個名為Newgrounds 的網(wǎng)站——上面有幾個(頗有不雅)的笑話網(wǎng)頁以及一些簡單的JavaScript游戲。從1998年開始他就玩Flash了,很快她就想出了Teletubby Fun Land,這是一款用Flash技術(shù)驅(qū)動的簡單游戲,喜歡玩耍的兒童電視角色在里面對羊做著不可描述的事情,還喝伏特加酒,玩槍,以及其他不是這個年齡該干的事情(BBC對此一點都不覺得好笑)。
Fulp 說:“Flash是我一直夢寐以求的創(chuàng)意工具。”終于有一款工具能夠讓他以一種簡便的方式將動畫和代碼結(jié)合到一起了——盡管在初期時其實并沒有太多的代碼可研。Flash的編程語言ActionScript (由Gary Grossman開發(fā))直到2000年8月 Flash 5投放市場后才出現(xiàn),甚至在Flash 4引入Actions之前,條件邏輯和基本變量都還沒有實現(xiàn)妥當。但是就像早期Flash彈球游戲的開發(fā)者一樣,F(xiàn)ulp也找到了自己的辦法。
他的基于Flash 3的點擊型的冒險/射擊+暴力校園游戲可不只是火了而已, 這款游戲還打響了用Flash制作游戲的第一槍。Fulp很快就在他的網(wǎng)站上創(chuàng)建了一個名為“The Portal”的頁面,用來展示他尚未完成的作品,不過不久之后,其他人也開始上傳自己的Flash游戲和動畫。到2001年互聯(lián)網(wǎng)泡沫破滅時,F(xiàn)ulp 和他的一小撮全職員工已經(jīng)把Newgrounds 變成了全球最大,最活躍的在線用戶社區(qū)之一,也成為了Web事實上的Flash娛樂內(nèi)容集散地。
Armor Games創(chuàng)始人Dan McNeely說:“基本上Newgrounds是一個人人都可以提交其[Flash]游戲并對其進行測試的地方。”在這里,任何人都可以發(fā)布自己的Flash游戲和電影,并且在短短的幾年內(nèi),它不僅讓Fulp賺到了錢,而且眾多Flash創(chuàng)作者都可以分一杯羹。
能夠被列為首頁的精選具有巨大意義——這不僅能增強信心,而且還能吸引了大規(guī)模用戶的眼球,讓他們?nèi)ピ囃妗ulp 說,在巔峰時期,Newgrounds 每月能夠獲得大約1800萬的獨立訪客。所有這些關(guān)注被證明是非常有利可圖的。
McNeely說,從2005年左右開始,頂級的Flash游戲開發(fā)者開發(fā)的每個游戲光贊助就可以賺五到六位數(shù)。大多數(shù)人只需要在游戲加載的時候或者在標題屏幕上把另一家企業(yè)的促銷材料列上去就能拿到這筆錢。
Flash的娛樂產(chǎn)業(yè)的繁榮并不僅限于Newgrounds 。McNeely說 ,自己的Armor Games每天的訪客數(shù)可高達120萬。其他的幾個Flash游戲和動畫門戶網(wǎng)站,包括Kongregate、Addicting Games以及Adultwim.com等,訪問量也非常可觀。
所有這些都是Flash驅(qū)動的內(nèi)容產(chǎn)業(yè)的一部分。隨著Flash不斷擴展自己的能力(后來又滲透到桌面和嵌入式軟件),它造就了一個產(chǎn)業(yè),孵化出動畫、游戲、Web開發(fā)、在線廣告等領(lǐng)域大大小小的無數(shù)公司。
Jackson 說:“我還記得,當某人發(fā)現(xiàn)我參與了推動Flash發(fā)展之后,他對我說,‘噢,我真的好好感謝你。’ 為什么要感謝我?他說:“因為你給了我一份職業(yè)。” 當然,過去也有人對我們表示過感謝,但都是因為我們提供了一個不錯的工具或者我們做過的某件事。當然那,這些也很不錯。但這個家伙是因為我們?yōu)樗峁┝艘环萋殬I(yè)而表示感謝。這可把我驚到了,我真的是誠惶誠恐。”
Flash創(chuàng)作出了規(guī)模龐大的各種各樣的Web內(nèi)容,類似地,F(xiàn)lash在其他地方產(chǎn)生的影響也許更大:這個地方就是視頻。
Gay回憶說:“在Macromedia內(nèi)部,我們對要不要往Flash里面添加視頻是有爭執(zhí)的。我們的擔心是,如果我們做視頻的話,會被微軟和Real Networks碾壓。”
此時,幾家巨頭已經(jīng)謀劃了自己的Web視頻解決方案,但是Gay注意到那些解決方案有兩個共同的弱點。一是這些競爭者都試圖復(fù)制電視體驗,但互聯(lián)網(wǎng)還不足以提供那種體驗;二是他們都采用了“有缺陷的網(wǎng)絡(luò)協(xié)議,而那些協(xié)議在穿越防火墻時或當時互聯(lián)網(wǎng)的各種混亂情況下表現(xiàn)都不是太好”。
Gay認為自己可以提供點新鮮的不一樣的東西,從而將Flash的簡單性擴展到通信領(lǐng)域。他說:“我們稱之為Tin Can Team。” 這個Tin Can團隊搭建了一個雙向的Flash視頻和音頻通信服務(wù)器,服務(wù)器推出后不久,一家名為YouTube的小型視頻共享初創(chuàng)企業(yè)便開始試用(并隨后獲取了許可)。在2015年之前Flash一直都YouTube的默認播放器。它還用Macromedia Breeze(現(xiàn)在叫做Adobe Connect)闖入了WebEx的領(lǐng)地,不過跟YouTube的交易的確是改變了一切的那個事件。
不久之后,就像對動畫、Web游戲以及華麗的網(wǎng)站和廣告所做過的事情一樣,F(xiàn)lash很快就占領(lǐng)了Web視頻領(lǐng)域。
Jackson說:“人人都得在某個時候下個Flash播放器。這不是因為Web網(wǎng)頁要播放Flash動畫,而是因為播放視頻的需要,大家在瀏覽器上面就是這么看視頻的。”
Adobe清楚地意識到了這一點。2005年,在首次對收購Flash表示拒絕的十年之后,作為36億美元收購Macromedia的一部分,他們拿到了這項技術(shù)。Adobe當時的CEO Bruce Chizen后來告訴Jackson說,其中的30億美元就為了買下Flash,剩下的0.6億美元是所有其他一切的價值之和——包括Macromedia這個品牌,以及它的專利、技術(shù),和所有的其他產(chǎn)品等等。
但是,盡管在市場上占據(jù)了主導(dǎo)地位,盡管作為一項技術(shù)Flash取得了各種成功,但Flash從來都沒有邁過那道坎——從事實上的標準過渡到實際的標準。慢慢的,真正的Web標準出現(xiàn)了。HTML和CSS變得更加的強大。它們以及其他Web標準(比方說SVG和JavaScript)的實現(xiàn)在不同瀏覽器之間表現(xiàn)得更加一致。隨著時間的流逝,F(xiàn)lash在Web上漸漸失去了一些競爭優(yōu)勢。
被Adobe收歸旗下之后下,Gay繼續(xù)前進,F(xiàn)lash也試圖繼續(xù)推進。Flash Player增加了3D渲染,Adobe隨后推出了Flex Builder和Adobe Integrated Runtime(AIR)產(chǎn)品,目的是想讓Flash 成為完整的跨平臺(臺式機,眾多嵌入式計算平臺以及手機)應(yīng)用環(huán)境。移動是Flash要征服的下一個前沿領(lǐng)域,隨著iPhone和Google的Android平臺的迅猛發(fā)展,如果能夠完成強有力的過渡的話,F(xiàn)lash的前景將一片光明。
但蘋果CEO兼聯(lián)合創(chuàng)始人史蒂夫·喬布斯的想法不一樣。 那個男人終于要來取你的命了,F(xiàn)lash。
2010年4月29日,喬布斯發(fā)表了一封名為《關(guān)于Flash的一點思考》的公開信。在信中,他指出了Flash的封閉性和專有性,F(xiàn)lash由Adobe完全擁有和控制,并且需要瀏覽器插件才能在Web上使用。此外,他補充說,F(xiàn)lash在可靠性(當時顯然是造成“Mac崩潰的第一大原因”)、安全性以及性能方面都越來越成為問題。
此外,F(xiàn)lash被認為是針對鼠標輸入而不是多點觸摸而設(shè)計的,這意味著Web開發(fā)人員需要徹底修改設(shè)計才能消除懸停/翻轉(zhuǎn)觸發(fā)等界面元素。而且,似乎還嫌在蘋果的設(shè)備上對Flash的追殺不夠,喬布斯補充說,蘋果希望在自己平臺上的APP能夠利用平臺特定的功能,但Adobe的跨平臺開發(fā)工具對此類功能的支持速度很慢。
當然,F(xiàn)lash推出了很多很棒的游戲,但是蘋果的應(yīng)用商店上面也有很多出色的游戲。進入移動時代后,喬布斯寫道:“Flash力所不逮。”
業(yè)界對此的反應(yīng)不一。但可以肯定的是,Mobile Flash在努力克服自身的性能和可靠性問題。2011年11月,Adobe放棄了,并將自身的移動工具開發(fā)重點轉(zhuǎn)向了HTML5。
那么是喬布斯殺死了Flash嗎? Dan McNeely認為是的。他說:“他有點像給棺材板釘上了第一顆釘子。我認為其他的一切都源于此。” Tom Fulp的表態(tài)要謹慎些——他指出了智能手機為小型開發(fā)者提供的非Flash市場的價值很大,但他也同意“當史蒂夫·喬布斯寫下他的《關(guān)于Flash的一點思考》那封信時,你會感覺到對Flash的信心開始慢慢枯竭”。
Jonathan Gay和Eric Zocher都認為轉(zhuǎn)折點要發(fā)生得更早一些。在Gay看來,把Flash變成了企業(yè)平臺是邁出了錯誤的一步,這個過程從Macromedia那時候就開始了。他說:“我一直都反對這個主意。我們本可以為媒體和創(chuàng)意專業(yè)人士等做更多的工作。做[企業(yè)端]的事情我認為多少分散了我們的注意力。”
這是一種干擾,是Flash變得臃腫的源頭,令其更難以快速地進入手機市場。
Zocher 補充說,應(yīng)用商店帶來了范式轉(zhuǎn)變,這種轉(zhuǎn)移使得兩件事情都變得前所未有的容易:一是開發(fā)者可以通過龐大的受眾群體利用其軟件來獲利;二是各大品牌可以通過免費app給消費者的腦海打下印記。他指出:“還有一件事情對Flash是不利的。那就是以照片為中心的Web。”可稱之為Instagram 效應(yīng)——朝著主要由大規(guī)模靜態(tài)相片組成的網(wǎng)站的過渡,使得Flash變得可有可無。
那么我們再回到本節(jié)開頭提出的那個問題:到底是誰殺死了Flash?從某種程度來說,我們都是共謀,但主犯是Adobe、Macromedia以及蘋果。
數(shù)以百萬計的人可能不會對Flash的死亡表示哀悼,因為有時候為了看個視頻或者玩?zhèn)€Web小游戲他們不得不沒完沒了地更新這個煩人的插件(更不用說Flash存在的無數(shù)安全問題了)。但是對于像Dan McNeely這樣的人來說,F(xiàn)lash的即將死亡給他留下了一個永遠也無法填補的大洞。
現(xiàn)在,游戲制作者可以選擇的工具多到令人眼花繚亂,包括Unity、Game Maker、Godot、Construct、Phaser 等,其中的很多工具采用的都是Flash以內(nèi)容為中心的開發(fā)方法,并且其中的大多數(shù)都擴展了Flash的“一次開發(fā),隨處部署”的開發(fā)哲學。但是McNeely和Fulp均認為,那些都沒有Flash那么的有趣、簡單或者易于使用。
Web開發(fā)者Rob Eberhardt 說 ,網(wǎng)站開發(fā)也是這樣——現(xiàn)代的工具功能強大,但是他和他的現(xiàn)任老板“一直都很懷念Flash以及用Flash進行創(chuàng)意工作的絕佳體驗。”
現(xiàn)如今,F(xiàn)lash變成了過街老鼠人人喊打,但其實Flash是早期Web的英雄。
瀏覽器插件Flash Player現(xiàn)在也許已經(jīng)是生不如死了。但是從技術(shù)上講,創(chuàng)作工具Flash 仍然活著而且還在不斷發(fā)展。它的實用性已經(jīng)沒那么強了,但仍然是流行的動畫制作工具,就像前面提到的那樣,在不同的商業(yè)場景下它還維系著一定的受眾。而在Newgrounds (還有其他地方嗎?)這里,盡管他們早就支持了HTML5,但通過開源的瀏覽器內(nèi)置仿真,特定的Flash內(nèi)容依然還可以呈現(xiàn)(多少有點諷刺)。
但是,除了延續(xù)的生命之外,在過去那個自己的陰影之下,我們該如何回顧Flash留下來的遺產(chǎn)呢?
在Jonathan Gay看來,有3點很關(guān)鍵。第一,是Flash在UX(用戶體驗)設(shè)計的興起中起到了重要作用,因為Flash迫使開發(fā)人員(尤其是Web開發(fā)人員)要思考用戶如何與計算機和Web進行交互。其次是視頻,比方說Flash“為YouTube提供了管道”來自互聯(lián)網(wǎng)上創(chuàng)建業(yè)余的短視頻。
但他表示,“最大的遺產(chǎn)可能是幫助創(chuàng)意人士進入到交互式媒體的世界。”的確,就像Tom Fulp所指出的那樣:“Flash為這個行業(yè)引入了大量此前從未有過的新聲音。那些在行業(yè)家庭之外成長的孩子,那些遠離工業(yè)城市的孩子。要想打入游戲或電影行業(yè)會令人感到畏縮,而用Flash來制作Web內(nèi)容卻非常誘人。”
因此,哪怕我們當中的很多人現(xiàn)在對彈出窗口要我們啟用Flash的提示冷嘲熱諷,或者對該平臺涉及到安全問題的一聲嘆息,但全面回顧這一平臺的過去時,得出它為Web所做出的貢獻遠大于破壞這一結(jié)論并不難。尤其是考慮到Flash強大的簡單性為幾代職業(yè)人士提供了生計,怎么去評價這個平臺留下的遺產(chǎn)都不會被夸大。
原文發(fā)表在https://arstechnica.com上,標題是:The rise and fall of Adobe Flash
作者:神譯局
原文鏈接:https://36kr.com/p/792157010478855
本文由 @神譯局 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議。
幾年,人們幾乎只會在一種情況下,把目光放在 Flash 身上。
不是因為它發(fā)布了多么炫酷的更新,而是視頻播放不了的時候,它不停地被禁止,在彈窗上 “ 卑微 ” 請求權(quán)限。
僅這一次允許運行 Flash,落淚了▼
從剛開始的「 網(wǎng)站需要你的許可才能運行 Flash 」,到「 默認禁用 Flash 」,再到最后「 將完全移除 Flash 」。
彈窗一次又一次地敲鐘:屬于Flash Player 的時代,馬上就要結(jié)束了。
曾經(jīng)它是人們玩游戲、看視頻的默認方式,三年前,八成的 Chrome 用戶還每天使用 Flash 訪問網(wǎng)站。
然而,現(xiàn)在所有網(wǎng)站中只有 3.9% 在使用 Flash( 數(shù)據(jù)來源于 W3Techs 的一份報告 )。2017 年,Adobe 自己也已經(jīng)宣布,將在 2020 年底停止支持。
若要問它為何會被整個行業(yè)、乃至自己親媽放棄?
總結(jié)起來無外乎是這四宗罪:不安全、不老實、不高效、不開放。
15 年時 Flash 的漏洞數(shù)量,就已經(jīng)穩(wěn)居榜首,占據(jù)將近七成的江山,平均每周有 6 個新的漏洞出現(xiàn),安全性差得一塌糊涂。
這一邊,無數(shù)勒索病毒通過 Flash 散播,讓開發(fā)者覺得糟心。
另一邊,國區(qū)的代理還在借 Flash 搞騷操作,悄悄吞噬系統(tǒng)資源、增加耗電,用狂轟濫炸似的廣告彈窗,讓用戶感到惡心和厭煩。
而且它本身只是一個多媒體程序的播放插件,后期卻像個軟件一樣,承載了太多的功能:解碼編碼 H.264、進行 3D 渲染、播放 7.1 聲道環(huán)繞聲、支持游戲手柄,逐漸變得低效又臃腫。
看個視頻,可能就連帶著把瀏覽器整崩潰了:
這些弊端,讓互聯(lián)網(wǎng)上長期存在著一股反 Flash 的力量,甚至有個 “ 占領(lǐng) Flash ” 的運動,誓要「 讓全世界的桌面瀏覽器都卸載 Flash Player 插件 」。
至于不開放,則似乎是它致命的弱點,也從一開始,就奠定了 Flash 涼涼的基調(diào)。
作為一款專利性產(chǎn)品,如果其他公司要使用 Flash 技術(shù),就必須向 Adobe 支付費用。舉例來說,如果蘋果的用戶想要在手機的網(wǎng)頁上看視頻,蘋果就要給 Adobe 錢了。
然而沒有哪個公司,想要依賴于一個自己控制不了的獨立技術(shù),所以他們肯定會想辦法扼殺 Flash,并積極推動免費且開放的產(chǎn)品來取代它。
對比之下,新生兒 HTML5 雖然也同樣不能避免 Flash 的某些弊端,但作為一種開放的網(wǎng)絡(luò)標準,它屬于所有人。
可能也正因如此,微軟、蘋果、Google 對此都舉雙手支持。
2014 年萬維網(wǎng)聯(lián)盟完成 HTML5 的標準制定后,H5 加速發(fā)展,已經(jīng)所向披靡。現(xiàn)在每年年底刷屏的支付寶年賬單,采用的就是 H5 技術(shù) ↓ ↓
曾經(jīng)的 Flash 天堂 4399,如今也充斥著各類 H5 小游戲 ↓ ↓
后浪已經(jīng)勢不可擋了,所以能熬到今天的 Flash,其實早已算是長壽。
然而在那么多人歡送 Flash 的同時,還是有人放不下 Flash,高呼自己的青春結(jié)束了。
畢竟,在撥號上網(wǎng)的 Web1.0 時代,F(xiàn)lash 可是神一般的存在啊。
當時由于帶寬網(wǎng)速的限制,HTML 里只有土土的文字和排版,要想看高清的圖片、GIF 或者視頻,真就是燒錢也未必能做到。
Flash 此時出現(xiàn),算是另辟蹊徑解決了網(wǎng)速的問題:它的圖片和動畫都是基于矢量存儲的。
而矢量圖的生成可以通過 CPU 做到,并且放大縮小也沒有失真的問題,所以只需要幾十 KB 到幾百 KB ,就能輕松實現(xiàn)別人需要 MB 的圖片。
2005 年 Flash 還增加了邊下邊播的功能,在文件剛下載時,用戶就能點開看視頻。
而且它的壓縮算法,讓視頻不用緩沖就能秒看,當時土豆、優(yōu)酷等各大視頻播放網(wǎng)站,用的都是 Flash插件,這時候的 Flash 基本就是默認的 “ 行業(yè)標準 ”。
也許上面這些革新你都未曾察覺,但你一定玩過借助 Flash開發(fā)出的,像是《 黃金礦工 》、《 森林冰火人 》、《 死神 vs 火影 》這樣,陪伴了一代人童年的小游戲。
它們不用繁瑣的下載安裝,只要點擊打開網(wǎng)頁就能秒玩,往往一玩就是一整天,停也停不下來。
除了這些之外,F(xiàn)lash 讓人念念不忘的另一個理由,還因為它作為一款軟件,不僅留下過作品,也曾創(chuàng)造過一種文化。
1997 年它進入中國,讓無數(shù)業(yè)余愛好者開始對創(chuàng)作感興趣。因為 Flash 的技術(shù)門檻和開發(fā)成本都很低,只需要懂一些簡單的動畫就可以了。再加上一點代碼,就可以做出具有交互效果的動畫或者游戲。
短短兩年,就有大量的開發(fā)者聚集在 Flash 論壇里,興高采烈地討論著各種點子的開發(fā)和實現(xiàn)。當時,有人無意中提出了 “ 閃客 ” 的概念,立刻擊中了當時的 “ 大 V ” 邊城浪子。
后來他受此啟發(fā),創(chuàng)立了閃客帝國,給了國內(nèi)的 Flash 創(chuàng)作者一方凈土,也極大地推動了原創(chuàng)動畫在國內(nèi)的傳播與發(fā)展。
研究者描述閃客時說:
每當夜幕降臨,他們選擇了 “ 閃光 ”,用一種叫 Flash 的軟件,把隱藏在心里那些若隱若現(xiàn)的感覺做成動畫,也許是段 MTV,也許是一段傷感的故事,也許僅僅是一個幽默。這些作品傳播到網(wǎng)上,博得大家開懷一笑,或是賺取幾滴眼淚。日復(fù)一日,樂此不疲。
何其浪漫,何其熱忱啊。
然而,公司里 98 年出生的同事對當年的這些詞匯一無所知。也許十幾年后,剛出生的孩子們,也會同樣對 Flash 一無所知。
或許,互聯(lián)網(wǎng)一直就是這樣,不完美的技術(shù)總會被革新和淘汰。
而最后留下的,是一些更棒的技術(shù),一聲輕輕的嘆息,還有那一份刻在一代人腦海中、永不磨滅的閃光回憶,如此足矣。
發(fā)生重大哀悼事件時候,需要緊急將網(wǎng)站變灰以示哀悼,在此蟲蟲給大家總結(jié)了幾種方法,通過簡單修改一下站點樣式即可實現(xiàn)。
另外主要方便快捷的方法是使用CSS樣式的grayscale()方法。
grayscale() : 對圖片進行灰度轉(zhuǎn)換,grayscale是 <filter-function> 的子屬性,當100%參數(shù)時候的效果如下:
最簡單地把頁面的<html>開始標簽中間之間加:
style="-webkit-filter: grayscale(100%);"
或者修改站點CSS樣式
html {-webkit-filter: grayscale(100%);filter:progid:DXImageTransform.Microsoft.BasicImage(graysale=1);}
將上述代碼添加加到CSS最頂端就可以實現(xiàn)。
為了兼容多種瀏覽器標準,可以增加一下樣式:
html {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
_filter:none;
}
如果網(wǎng)站后臺無法定義CSS樣式,這需要在站點模板頁的head標簽中間插入style標志位:
<style>
html{-webkit-filter: grayscale(100%);}
</style>
對于一些老的網(wǎng)站,為了支持該函數(shù)需要修改html標頭,將其修改為最新標準標頭才可以:對一些使用Flash(不在建議使用)的老站點,起顏色可能也不支持CSS濾鏡變灰,則需要在可以在FLASH代碼的<object …>和之間插入:
<param value="false" name="menu"/>
<param value="opaque" name="wmode"/>
對于一下沒有辦法修改源站代碼的情況下,也可以在Nginx站點代理無服務(wù)器上,通過sub_filter指令來實現(xiàn)。
受限確保nginx支持http_sub_module模塊,如果不支持需要重新編譯安裝Nginx,自愛安裝時候添加build參數(shù)—with-http_sub_module
然后在Nginx的http模塊增加如下代碼:
sub_filter '</head>' '<style type="text/css">html{ -webkit-filter: grayscale(100%);filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}</style>';sub_filter_once on;
然后nginx -t測試配置正常無誤
nginx -s reload 重啟nginx即可
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。