我最近比較安靜,我知道——但別擔心,我沒有忘記你們,也沒有忘記你們有多喜歡在網路上看到一些超蠢的點子!

這個點子是我在跟一位同事聊天時冒出來的,我當時說:「你知道你可以從一個瀏覽器視窗控制另一個視窗,對吧?」

原本那是個很合理的想法,用來檢查失效連結,然後一個接一個確認它們是否正常運作(而且不會有 iFrame 可能帶來的問題——文章後面有個示範)……但接著我意識到,這是網頁世界裡少數我還沒拿來亂搞的部分!

我原本在想,要怎麼做出一個小遊戲,包含一個控制視窗和一個遊戲視窗,然後我突然想到……為什麼要把自己限制在只有兩個視窗?

於是就有了這個可怕的點子!

貪食蛇——用瀏覽器視窗渲染!

你可能不知道,只要有一些使用者互動,並且使用者允許彈出視窗,你就能對瀏覽器視窗有非常多的控制權。

你可以定義視窗大小(在最小尺寸有一定限制的前提下)、位置等等。

而且你還可以替視窗命名,這樣你就能在程式裡一直引用它,讓多個視窗移動到你想要的位置!

有了這兩件事,我們就有了大量製造混亂的機會!

混亂開始!

控制方式是方向鍵。

你必須在按下「開始遊戲」後接受彈出視窗(在網址列中),並選擇「一律允許來自……的彈出式視窗」。

僅在 Windows 上的 Chrome 測試過——其他瀏覽器/作業系統組合就祝你好運了!

不要點任何東西!只要使用方向鍵。

當遊戲結束時,記得按一下頂部高分視窗中的「清除所有視窗」,不然你可能會坐在那裡關掉一堆隨機視窗很久!哈哈。

完成後請在留言區分享你的螢幕截圖和高分!

https://codepen.io/editor/GrahamTheDev/pen/019f90a9-1ed9-7d61-927e-31dd5256c79e

以防你的裝置無法使用,或你正在用手機

如果你現在沒辦法試玩,這裡先附上一張截圖。

由多個瀏覽器視窗組成的貪食蛇,其中一個視窗是蘋果,並有數個相連的視窗組成蛇身

好了,剛剛那很荒謬,我們來認真一點

雖然那真的很蠢,但你還是可以用它做一些非常有用的事。

就像我在前言裡說的,我們在工作上有一個實際用途,希望也能給你一些靈感。

我們正在檢查第三方網站上的失效連結。

問題在於,有些內容是 SPA(單頁應用程式),所以即使頁面壞掉了,我們還是會拿到 200 HTTP 回應標頭;有些內容則被付費牆擋住(所以我們可以確認頁面存在,但不能保證付費牆後面的內容仍然存在)。

因此,我們想要有一個待檢查專案的佇列,然後點擊佇列中的某個專案時,會開啟目標頁面,讓我們可以檢查它、登入等等。

我們可以嘗試在單一瀏覽器視窗裡完成這件事,但那就需要用到 iFrame。而且如果你不知道的話,有些網站可以停用 iFrame(它們可以阻止你把他們的網站顯示在你網站的 iFrame 裡)。

所以,若要更穩健,我們可以改用視窗。

我們可以開啟兩個視窗:左邊一個較小的視窗,放要檢查的頁面清單;右邊一個視窗,會根據我們在第一個視窗中點了什麼而被控制。

在左邊視窗點一下專案,就更新右邊視窗的 URL——完全不用 iFrame 的魔法!

更棒的是,我們還可以調整視窗大小,把它們鋪滿整個螢幕,讓它們看起來幾乎就像一個應用程式一樣!

比較實際的示範

點左邊視窗中的專案,它們會變更右側面板中的 URL。

請在左側面板中適當標記所有正常與異常的頁面!

https://codepen.io/editor/GrahamTheDev/pen/019f910d-965b-7c08-839f-44ad8fac4c8b

你會做出什麼?

這讓你想到什麼新點子?

在編輯器裡,每個工具各自一個視窗?

多螢幕應用程式(因為你也可以偵測某人有幾個螢幕,然後把東西放到第二、第三螢幕上)。

告訴我:a) 你在貪食蛇拿到多少分(前提是能正常運作),以及 b) 這篇文章讓你想到哪些點子!


原文出處:https://dev.to/grahamthedev/snake-rendered-with-576-browser-windows-warning-this-will-hurt-your-eyesand-pc-3p7i


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   💬1   ❤️5
284
🥈
我愛JS
📝2   💬6   ❤️3
112
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登