Untitled Post - 80
KVM客户机鼠标集成其实很简单,命令行里添加一个参数-usbdevice tablet
就可以了,不过KVM运行带图形界面的客户机感觉还是不如virtualbox用起来更方面。KVM更适合服务器领域。
KVM客户机鼠标集成其实很简单,命令行里添加一个参数-usbdevice tablet
就可以了,不过KVM运行带图形界面的客户机感觉还是不如virtualbox用起来更方面。KVM更适合服务器领域。
HTML页面中储存自定义信息的方式能想到的大概有以下几种:
以上几种方法如无特殊要求,建议使用JQuery的缓存系统。
===
[erq]
因为sql语句中用了中文的”月”,而NLS_LANG设置为”AMERICAN_AMERICA.AL32UTF8”,所以oracle提示了错误”ORA-01843 not a valid month”,只需将NLS_LANG设置为”SIMPLIFIED CHINESE_CHINA.AL32UTF8”即可。
Mac OS X使用BSD版本的命令行工具,虽然都共同遵守POSIX标准,但其与GUN命令行工具仍然有很多的不同,而且明显不如GNU版本的命令好用。
可以用homebrew来安装GNU命令行工具,下面是脚本,更详细的内容请参考[1]
可以先安装最新版本的bash,再运行下面的脚本
1 | #!/usr/local/bin/bash |
Update(2020/01/26):
homebrew/dupes已经deprecated,其下的formula迁移到brew/core下。
–default-names选项已经无效。
References:
[1]Install and Use GNU Command Line Tools on Mac OS X
===
[erq]
XMLHttpRequest Level 2 简称XHR2添加了ProgressEvent接口,使得可以不借助第三方插件,使用原生Javascript就可以实现上传下载进度监控。
下载的progess事件由XMLHttpRequest对象自身触发,而上传的progess由XMLHttpRequest.upload对象触发。
使用原生的Javascript可以这样写:
1 | var xhr = new XMLHttpRequest(); |
如果使用JQuery则需要一些曲折,因为JQuery没有对上传下载进度监控提供直接的支持。但是$.ajax函数提供了xhr和xhrFields配置接口,可以修改JQuery内部使用的XMLHttpRequest对象的属性,甚至可以提供自己的XMLHttpRequest对象供JQuery使用。
所有有了以下两种方式来配置$.ajax实现进度监控:
使用xhr配置
1 | $.ajax({ |
使用xhrFields配置
1 | $.ajax({ |
进度事件处理函数
此时的事件对象为ProgressEvent
1 | function upload_progress_handler (e) { |
References:
[1]Using XMLHttpRequest
[2]jQuery+FormData+文件上传+上传进度
===
[erq]
现代浏览器中的DOM对象有一个classList属性,这是一个DOMTokenList类型的对象。这个对象有add,remove,toggle,contains方法,可以用来操纵或测试DOM元素的class。
img元素的width和height属性只会取出图像当前的宽度和高度,这宽度和高度可能不是图像原始的尺寸,因为img元素可以指定width和height属性。
现代浏览器为img元素添加了两个属性naturalWidth和naturalHeight可以获取图像的原始尺寸。这两个属性是只读的。
jquery没有对应的属性或方法,可以通过获取原始的dom对象来读取这两个属性。
对于不支持这个两个属性的浏览器,可以通过生成一个不设定width和height的内存图像来获取原始尺寸。
代码如下:
1 | var image = document.getElementById("img_id"); |
===
[erq]
最新版本的Mac OS X内置的bash仍然是3.x, 下面使用brew更新bash到4.x
安装bashjs$ brew install bash
/etc/shells文件最后附加一下行:js/usr/local/bin/bash
更改当前用户的shelljs$ chsh -s /usr/local/bin/bash
即便如此,Terminal仍然使用系统内置的bash,也就是/bin/bash,这可以通过Terminal Preferences来修改。修改Shell open with为Default login shell或者为 command(complete path),空白处填/usr/local/bin/bash即可。
或者更暴力更直接一点:
1 | # cp /bin/bash /bin/bash-3.bak |
最后看一下bash版本:
1 | $ echo $BASH_VERSION |
===
[erq]