Split Screen
- 2020 年 7 月 23 日
- 筆記
- Demos, HTML, javascript, 偽協議
Split Screen
是一個用來分屏的 bookmarklet 程序. 它通過 javascript
通信協議實現[1].
特點
- 使用 HTML5
<dialog>
元素實現 - 使用 GoogleChrome/dialog-polyfill 打了補丁, 以支持所有主要瀏覽器
- 仿照 ElementUI – Dialog 對話框 實現了樣式
使用
- 將以下
Split Screen
鏈接拖到瀏覽器書籤欄.
Drag this to your favorites: Split Screen
- 在任意打開的網站中點擊該書籤, 按功能說明操作即可
功能說明
URL
部分用來鍵入兩個需要打開的網址 (默認為當前網址)Direction
部分用來選擇網頁展示的方向 (水平 or 垂直, 默認為水平)- 左鍵點擊
X
,Cancel
,灰色區域
按鈕, 或鍵入Esc
返回當前網頁, 不進行任何操作 - 左鍵點擊
Confirm
按鈕進行分屏操作 (該按鈕默認聚焦) - 刷新頁面後恢復最初頁面
改進方向或缺陷
-
一個標籤頁多次分屏存在問題
-
不引入靜態資源, 減少網絡 IO
-
不使用
document.write()
, 使用 DOM 操作代替 -
在瀏覽器新標籤頁無法使用
-
需要刷新頁面才能還原最初的頁面
-
性能優化
-
<dialog>
元素在一些瀏覽器還沒有實現 (尤其是老瀏覽器), 通過打補丁展示效果可能不一致 -
由於瀏覽器同源策略, 某些網頁可能無法直接訪問到, 比如 Google (一切以安全為第一要義)
代碼
-
bookmarklet.js 源碼
fetch('//ayuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.github.io/demos/dialog/index.html') .then((response) => response.text()) .then((html) => { document.write(html); document.close(); });