使用JS和Emojis讓你的地址欄動起來

我們知道實際上現代的URL是可以使用emoj符號(以及其他unicode字符)。但是這樣做的可能先得有點非主流而且會嚴重影響網站的SEO,所以很少有人這樣用過。但是作為一種技術嘗試這是一個很有意義的事情,那麼今天蟲蟲就帶領大家一起來做這件有意義的技術嘗試。具體來說就是通過JS讓這些字符動起來。

Loop循環

在JS代碼中要支持emoj符號,首先要確保頁面的JS代碼標記為UTF-8。我們可以通過通過HTTP標頭或META標籤來完成設置:


為了實現我們在地址欄中的URL可以動起來,實際上只需要一個循環。實例代碼如下:

使用JS和Emojis讓你的地址欄動起來

這是我們的第一個循環,一個旋轉的表情符號的月亮。運行效果如下:

使用JS和Emojis讓你的地址欄動起來

時鐘

當然這個旋轉的月亮可以換成任何表情符號,只需對f數組賦值不同的表情即可。比如一個時鐘:

var f = ['', '', '', '', '', '', '', ''];

效果如下:

使用JS和Emojis讓你的地址欄動起來

變臉娃娃

上面的例子太簡單,讓我們增加點難度。這我們給loop函數做些修改,讓它生成的是一個包含多個表情符號的字符串。這次我們使用emoji 的換膚器做修飾,最後結果是一個變臉娃娃:

使用JS和Emojis讓你的地址欄動起來

執行效果如下:

使用JS和Emojis讓你的地址欄動起來

代碼解釋:

在loop函數中,我們使用了一個我們使用的正弦函數Math.sin()來生成顏色參數,有有系統時間和循環變量控制的位置來作為正弦函數的參數。

月相動態

回到我們第一個月亮的例子,我是使用一個加載器來實現奪個月亮加載,並呈現不同月亮狀態的情形。代碼如下:

使用JS和Emojis讓你的地址欄動起來

運行效果

使用JS和Emojis讓你的地址欄動起來

其他Unicode字符

波浪圖

開始時候說了,我們不光可以使用emoji,也能使用任何的Unicode字符,比如下面這些用來組合形狀的Unicode字符

使用JS和Emojis讓你的地址欄動起來

我們可以讓他們組合成很多二維的形狀,下面的例子我們創建了有多個高度變化的字符塊生成的波浪圖:

使用JS和Emojis讓你的地址欄動起來

運行效果如下:

使用JS和Emojis讓你的地址欄動起來

進度條

我們把上面例子中的高度變化換成高度的變化,讓其水平擺動,就是一個進度條:

使用JS和Emojis讓你的地址欄動起來

運行效果如下:

使用JS和Emojis讓你的地址欄動起來

視頻進度條

上面這些小玩意基本上都是好玩,中看不中用。那我們再來做一個實用的東西,顯示在線視頻播放的進度,這個也不難,我們只需躲附加一個函數,將進度條中用的字符串替換為視頻的"timeupdate"即可,就可以在URL顯示的視頻進度,包括時常,當前播放時間:

使用JS和Emojis讓你的地址欄動起來

運行效果如下:

使用JS和Emojis讓你的地址欄動起來

怎麼樣?很有型吧,當然這個虛實線有圓構成進度條也可以換成其他的,比如前面我生成的月相圖可以挪過來用:

使用JS和Emojis讓你的地址欄動起來

運行效果如下:

使用JS和Emojis讓你的地址欄動起來

總結

本文我們一起探索了使用JS和Emojis實現Url動態效果的技術實現。最後貼一下具體實現時候的html頁面的框架代碼:

使用JS和Emojis讓你的地址欄動起來

只需把我們各種動畫JS代碼貼到上面框架中的script部分,然後通過url(必須虛擬站點形式)打開,就可以在地址欄看到效果了。如果感興趣請關注蟲蟲,可以和蟲蟲一起討論,並索取全部的源碼。


分享到:


相關文章: