我正在讨论node.js,并且已经发现了两种读取文件并将其发送到网络的方法,一旦我确定它存在并且已经使用writeHead发送了正确的MIME类型:
// read the entire file into memory and then spit it out
fs.readFile(filename, function(err, data){
if (err) throw err;
response.write(data, 'utf8');
response.end();
});
// read and pass the file as a stream of chunks
fs.createReadStream(filename, {
'flags': 'r',
'encoding': 'binary',
'mode': 0666,
'bufferSize': 4 * 1024
}).addListener( "data", function(chunk) {
response.write(chunk, 'binary');
}).addListener( "close",function() {
response.end();
});
Run Code Online (Sandbox Code Playgroud)
我是否正确假设fs.createReadStream可能提供更好的用户体验,如果有问题的文件是大的,如视频?感觉它可能不那么块状; 这是真的?我还需要了解其他优缺点,缺点,警告或陷阱吗?
这不会以严格模式传递JSLint:
"use strict";
(function (w) {
w.alert(w);
}(window));
Run Code Online (Sandbox Code Playgroud)
错误 - 来自jslint.com - 看起来像这样:
第4行字符3的问题:未定义"窗口".
}(window));
Run Code Online (Sandbox Code Playgroud)
隐含的全局:窗口4
我是否需要告诉JSLint忽略错误,或者我是否认真做错了什么?
我很高兴发现Android 2.2支持这个位置:固定的CSS选择器.我在这里建立了一个简单的证明概念:
http://kentbrewster.com/android-scroller/scroller.html
......这就像一个魅力.但是,当我尝试将INPUT标签添加到我的标题时,我遇到了麻烦.在焦点上,我到目前为止尝试的每个设备都克隆了INPUT标签,给它一个无限的Z-index,并在旧标签上重新绘制它.克隆位于大致正确的位置,但其父级的大多数CSS(当然包括位置:固定)将被忽略.克隆的INPUT标签的大小和形状错误,当我滚动页面的主体时,它会向上和向下滚动屏幕.
一旦它离开屏幕,就会出现欢闹声.有时设备会强制身体的滚动部分向下,这样克隆的空白就会回到视野中; 有时键盘会消失,即使可见的盒子似乎仍然在焦点上; 有时即使INPUT空白明显模糊,也无法解除键盘.以下是您可以在Android 2.2设备上运行以查看正在发生的情况的示例:
http://kentbrewster.com/android-input-style-bug/
样式输入:焦点还没有完成我的技巧,也没有很多不同的暴力尝试用JavaScript监听focus()和blur()并用焦点和键盘做正确的事情.
非常感谢您的帮助,
--Kent
当靠近超过的iOS4下的Safari浏览器窗口的高度或宽度的页面边缘我双击,它放大或缩小和/或向上滚动,向下,向右或向左,根据的大小页面和当前视口位置.我该如何防止这种行为呢?
我在一个非常糟糕的网站上工作; 我们保留了几层菜单状态并水平滚动以在层之间导航.双击软管布局,并没有直观的方法来恢复它.
据我所知,双击似乎不会触发滚动或触摸事件.我试过的其他事情:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
......有变化: