最近一年,在开发实践过程中遇到了不少问题,大多都能得到解决 部分知其原理,部分只能做到解决问题,而半年前遇到的问题,或多或少都忘得差不多了 是该记录一下一些问题,防止再遇到就得再查资料了
推荐用第二种,因为第一种可能被墙..
另外要注意使用绝对路径,且是能被外网访问的路径
一般来说,获取页面的垂直滚动位置通常使用document.body.scrollTop,其实这并不是标准的做法,属于旧规范里面的
在标准规范里是用document.documentElement.scrollTop来获取,不过chrome以往的webkit内核两种都是支持的,今天发现更新的chrome61版本已经不再支持旧的做法,导致一些页面滚动相关的操作失效
当然,这里的标准规范是值<html>指明的是标准的,如
如果是旧规范的标准,那用document.body来获取还是可以的
在chrome60中还是正常的,一升级就出现问题了
目前还不知道为何,可能是chrome61的bug?
WebUploader是一个上传文件的插件,功能强大,不过bug还是很多的,然而官方已经很少维护了
设置picker的选择文件按钮后,时常点击无效(并不是重复选择文件、按钮初始被隐藏的无效)。后来发现是点击中间时可以,但点击边缘就没反应
看了源码发现,文件input[file]项是通过点击label模拟触发的
而label的可点击区域实际上是上图中的元素
可以发现主要原因是计算元素的宽高出错,导致点击区域不正确。
没有好的解决办法,只好取消button的padding,用多余的宽高来代替,并且显示设置.webuploader-pick 占满父元素
如果机子装了迅雷,在设置Video源的时候(比如使用video.js或用原生)并不会播放,而是自动被迅雷调出下载
可以说是迅雷流氓了,它自动检测http流的数据
解决办法一:不用http流的,改用其他流媒体
safari下会有很多安全性的问题,关于文件选择项的触发,原生的文件选择框的样式不太好修改,一般会隐藏掉然后用一个输入框代替,点击后再触发文件的选择
在safari下会失效,解决办法是在包裹的label 元素中加上for参数即可
是一个bug,解决办法对改元素设置disabled属性,不过这种方式副作用比较大
推荐使用事件监听的方式
在比较旧的浏览器中是可以正常播放Flash视频的,有直接就能播放的,也有提示选择打开Flash进行播放的
但在新版Chrome中(如62),连提示都没有了,需要手动在设置中添加Flash支持的网站例外才能播放
看了所用的Flash播放器(CuPlayer),播放前是先检测插件是否存在的,这造成了在新版Chrome中检测不到插件的存在,从而初始化不了播放器
暂时的解决办法是,稍微修改一下播放器的源码,在特定的时候传个参数,就不检测Flash是否存在了,直接使用即可,就可以让Chrome出现打开Flash的提示
允许一次之后,当前域名端口的一条记录就会被添加到例外中,重新刷新,Flash插件就存在列表中了
修改本地时间后,这个获取时间某些情况下会不正确。原因是浏览器自身缓存了当前时间值。
当修改的时间变化比较小时(比如改变几分钟)能更新到正确的值
改变比较大时(比如改变几十分钟或几天),这个值在一分钟左右才会更新出来
在React中使用第三方插件(比如jQuery)来更新DOM树结构时,会出现类似这种错误。
React只对内部的DOM树及状态负责,外部插件修改之后(比如将某个节点拖动到另一个节点),再更新state来重新渲染,就会出问题
HTML一键打包工具能把任意HTML项目一键打包为单个EXE文件,可以脱离浏览器和服务器,直接双击即可运行。
HTML一键打包工具群:
1.新增打包安装文件支持
2.新增返回主页按钮支持
3.新增打包带有激活码的EXE的支持
5.新增默认最大化窗口支持
7.新增单例模式支持(只允许启动一个EXE)
8.支持保存打包配置文件(.h2e),支持双击打开
10.优化打开时的页面,提示初始化中,请稍后
1.提升ie内核兼容性
1.新增IE内核打包支持,内核仅占用不到1m空间,适用于对于打包大小比较敏感的场合
2.chrome内核打包新增强力压缩模式,可以把内核压缩到30M~40M左右。
3.更新UI,操作更加便捷
5.新增禁用调试工具选项
6.新增禁止窗口缩放选项
7.log信息更加友好
1.新增支持包含Flash的网页打包
2.新增支持直接打包网址
3.增加压缩支持,减小打包后文件的体积
4.新增提升稳定性的选项,可以避免一些大的KRPano项目打包切片图载入失败的问题
5.新增支持自定义窗口大小
6.新增支持启动时自动进入全屏
1.自定义图标bug修正
HTML一键打包工具具有以下特性
可以把HTML项目打包为单个EXE文件
打包后的EXE文件可以脱离服务器环境运行
打包后的EXE文件可以拷贝到任何Windows机器上运行
打包后的EXE支持最新的浏览器特性,支持并优化KRPano项目
打包后的EXE文件可以有效保护HTML/JS/CSS等资源。
打包工具支持Chrome内核和IE内核,可以根据需求选择使用
可以选择打包绿色版EXE,或者安装包程序。
绿色版EXE:会生成一个单独的EXE文件,可以直接运行,无需安装。
安装包程序:用户打开后,需要安装,安装后会在桌面生成图标,双击可以打开程序
使用Chrome内核:默认打包会使用Chrome内核,支持最新的浏览器特性,并且兼容性较好
使用IE内核:可以选择使用IE内核,使得打包后的文件更加小巧(注:IE内核不支持安装包形式)
宽度高度用于设置窗口的初始大小,默认宽度为1280 px,高度为800 px
可以勾选上全屏,使得打包后的exe可以在启动时自动进入全屏
勾选允许缩放后,打包后的软件窗口可以拖动放大和缩小。如果不勾选此项,则窗口不允许缩放。
默认情况下,软件会对载入的资源进行缓存,加速打开速度。勾选此项后,则不使用缓存。建议在打包频繁更新的URL的时候勾选此项,可以确保网站更新后载入最新的资源。
勾选退出提示后,打包后的exe在被关闭之前,会弹出对话框,确认用户是否要关闭
勾选此项可以对生成的exe文件进行压缩
提示:勾选此项会影响exe启动和运行的性能,并且部分系统可能出现无法打开的情况,慎重使用该选项。
若打包html网页中包含Flash元素,为了使Flash元素可以正常显示,可以勾选上支持Flash
提示:勾选上Flash后,会影响exe载入的速度和性能,因此如果网页中没有Flash元素时,请不要勾选此项
若打包的文件过大,出现部分元素无法正常加载或者加载出错,请勾选最后一个选项。
提示:勾选此项会影响性能,若正常打包没有问题,请不要勾选此项
默认情况下,在打包好的软件中,按下 Ctrl+Shift+I会打开调试工具,可以用于查看打包后的软件是否有一些错误。勾选此项后,则会禁用该调试工具,提示打包后exe的安全性。
勾选此项后,会在打包后的EXE的右上方添加一个返回主页按钮,点击该按钮会返回主页
勾选此项后,生成的EXE需要激活码才可以正常打开。可以通过菜单“EXE激活码计算器”计算激活码
勾选此项后,打包后的EXE将不会弹出窗口,所有弹出窗口均会在当前窗口打开
勾选此项后,EXE会默认最大化方式打开
勾选此项后,打包后的EXE将会有右键菜单,包含“刷新”,“返回首页”,“打开调试工具”,“清空缓存”等选项
勾选此项后,生成的EXE将只能被打开一次,多次打开也只会运行一个EXE