Split Screen
Split Screen
是一个用来分屏的 bookmarklet 程序. 它通过 javascript
通信协议实现[1].
特点
- 使用 HTML5
<dialog>
元素实现 - 使用 GoogleChrome/dialog-polyfill 打了补丁, 以支持所有主要浏览器
- 仿照 ElementUI - Dialog 对话框 实现了样式
使用
- 将以下
Split Screen
链接拖到浏览器书签收藏夹 (如果无法拖拽, 新建一个标签页存为书签, 然后修改其 URL 为 bookmarklet.js 源码)
Drag this to your favorites: Split Screen
- 在任意打开的网站中点击该书签, 按 功能说明 操作即可
功能说明
URL
部分用来键入两个需要打开的网址 (默认为当前网址)Direction
部分用来选择网页展示的方向 (水平 or 垂直, 默认为水平)- 左键点击
X
,Cancel
,灰色区域
按钮, 或键入Esc
返回当前网页, 不进行任何操作 - 左键点击
Confirm
按钮进行分屏操作 (该按钮默认聚焦) - 刷新页面后恢复最初页面
改进方向或缺陷
-
一个标签页多次分屏存在问题
-
不引入静态资源, 减少网络 IO
-
不使用
document.write()
, 使用 DOM 操作代替 -
在浏览器新标签页无法使用
-
需要刷新页面才能还原最初的页面, 应该隐藏在页面边缘, 随时可以使用
-
性能优化
-
插件化 (Chorme & Firefox)
-
<dialog>
元素在一些浏览器还没有实现 (尤其是老浏览器), 通过打补丁展示效果可能不一致 -
由于浏览器同源策略, 某些网页可能无法直接访问到, 比如 Google (一切以安全为第一要义)
代码
-
bookmarklet.js 源码
javascript:fetch('https://ayuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.github.io/demos/dialog/index.html') .then((response) => response.text()) .then((html) => { document.write(html); document.close(); });