博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发 web 桌面类程序几个必须关注的细节
阅读量:5151 次
发布时间:2019-06-13

本文共 1247 字,大约阅读时间需要 4 分钟。

   写了差不多快2年了,在我的坚持下也有一部分人打算着手自己也写套类似的程序,我想我可以提供一点经验。

  俗话说细节决定成败,开发2年多来,我看过大大小小类似的程序不下20个,各有优点也各有缺点。或许是处女座的强迫症导致我不能容忍这些缺点在我的程序上出现,所以一直完善至今。

  以下是我初步整理的几处容易被忽视的细节:

  一、当浏览器改变大小时,桌面图标无法重新排序

  这个细节相对比较容易被注意,不细说。

  反面教材:

  二、当浏览器改变大小时,打开的窗口无法重新定位

  这个问题会导致你的窗口可能在显示区域之外,无法进行任何操作,虽然你可以将浏览器恢复原先大小,将窗口拖动到适合位置,再改变浏览器大小。

  反面教材:

  同样问题还出现在挂件上,如 Q+web 就有这问题

  反面教材:

  三、通过鼠标划取,可以选中文字

  如上图,就是这种问题,简单测试方法可以按下 CTRL + A。反面教材:

  四、当桌面图标过多时,超出置顶显示区域,被隐藏在外的图标无法进行操作

  当你解决第一个问题的时候,立马就会碰到这个极端的情况,你可以强制把浏览器缩小到一个极小的窗口测试。

  解决办法就是增加一个滚动条,或者模拟一个滚动条。反面教材:

  五、无法通过点击窗口内部区域进行多个窗口间的置顶切换

  你可以在电脑上开2个窗口,比如2个文件夹,将其重叠,边角有覆盖即可,然后分别点击窗口内部(非标题部分),你会发现你点击哪个窗口,哪个窗口就会被置顶到最上面。

  而在 web 端实现这个问题需要一点技巧,因为大部分窗口里都是放个了 iframe,而 iframe 又是无法获取到点击事件的,解决办法就是当窗口处于非置顶时,在iframe上覆盖一个透明的遮罩层,然后给这个遮罩层绑定点击事件,用来处理置顶效果。

  反面教材:

  六、flash 应用遮罩层无法将其遮罩

  这个问题是随着上一个问题出现的,如果 iframe 里加载的是一个 flash 程序,因为是第三方的网站,如果没有做过处理,flash 可能会一直置顶,即使有遮罩层也无法将其覆盖。

  对于这个问题,技术上无法判断出 iframe 里是有有 flash,所以只能人为操作。HoorayOS 的做法是在创建应用的时候需要选择是否为 flash 应用这一选项,如果选是,则当窗口不处于置顶时,将 iframe 直接隐藏,或者直接移出浏览器外面,如设置 left:-9999px

  七、拖动对象时,没有阻止默认动作,导致拖动出新窗口

  这问题一般容易出现上图标拖动上,文字链接也会出现这问题。解决办法很简单,就是用  方法。

  反面教材: (你可以按住开始按钮,拖动一下然后放开左键)

  八、让我想一想,就先到这吧

  


 

  本文仅做为技术交流,以上出现的反面教材链接,如有冒犯,还请见谅。

转载于:https://www.cnblogs.com/hooray/p/3325507.html

你可能感兴趣的文章
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
web页面实现指定区域打印功能
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
Swift 入门之简单语法(六)
查看>>
〖Python〗-- IO多路复用
查看>>
栈(括号匹配)
查看>>
Java学习 · 初识 面向对象深入一
查看>>
源代码如何管理
查看>>
vue怎么将一个组件引入另一个组件?
查看>>
bzoj1040: [ZJOI2008]骑士
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>