控制
Chrome
浏览器窗口最小宽度和高度
(原创)
最近通过
Chrome
浏览器做
UI
,
Golang
作为主体语言的方式做了一个本地信息搜索的小工具,
核心的两个表列是捆绑对齐的,但在浏览器
resize
到一个比较小的宽度时,表格就乱了,非常
影响观感,因此希望能够控制浏览器窗口不要小于某个宽度。
解决这个问题可以通过两个方法实现:
0.
设置
HTML body
的
min-Width
1.
响应
window.onresize
事件
方法
1
非常简单,但当浏览器宽度进一步小于
min-Width
时,
body
内容就超出浏览器显示区
了,一般情况下可以通过浏览器窗口的滚动条来解决该问题,但是由于该工具功能很简单,仅
在核心表格中显示从数据库中查询得到的信息,所以采用了类似对话框的方式展示,也就是说,
禁用了浏览器窗口的滚动条,核心表格自带滚动条。这样的话在浏览器宽度小于
min-Width
时,
body
超出
window
的部分内容实际上直接丢失了。
所以非常希望通过
window.onresize
事件控制浏览器在达到
min-Width
时不再缩小,或者即使
缩小后放开鼠标左键时能够自动调整到
min-Width
。
开始希望通过在
window.onresize
事件中获取鼠标状态或者同时响应
window.mouseup
之类事
件方式,准确控制宽度。但实际上该方法行不通,因为浏览器
window
系统区域的鼠标事件无
法捕获到!似乎穷途末路了!
因此需要使用
SDK
获取整个桌面鼠标状态,来补足浏览器缺少的系统事件!因此在服务器端
Go
代码中调用
GetAsyncKeyState
鼠标状态查询功能,实现了该功能。关键的
go
和
js
代码如
下: