Articles of 浏览器

在JavaScriptcallback中,错误参数的正确位置是什么?

我正在写一个JavaScript函数,需要callback。 如果出现错误,callback将被传递一个错误参数。 什么是最好的/最标准的调用约定? callback的错误参数应该是第一还是最后? 我应该传递一个'errorMsg'string,或一个new Error('errorMsg')对象? 也就是说,什么是更正确的 – 这个代码: foo = function(bar, callback) { … if (error) { callback('troz not found'); } else { callback(null, result); } } 或者这个代码: foo = function(bar, callback) { … if (error) { callback(null, 'troz not found'); } else { callback(result); } } 或这个: foo = function(bar, callback) { … […]

错误“不允许加载本地资源:file:// sharedpath”

在chrome中的服务器(nodejs)上运行时,下面的代码不起作用 <span><a href="file://sharedpath" target="_blank">Open folder.</a></span> 我在开发人员工具中收到以下错误消息: 不允许加载本地资源:file:// sharedpath 但是当在浏览器(新选项卡)中打开相同的path( file://sharedpathpath)时,我能够看到该path的文件夹结构。 在IE中工作正常。 这是Chrome的问题吗? 或者在服务器上运行时,这是一个问题? 任何人都可以在这个问题上提出build议

JavaScript的事件循环问题

我不知道事件循环如何在JavaScript中工作,我正在使用node.js,但我想同样的问题适用于浏览器。 我有一些asynchronous调用(比方说setTimeout或$.ajax或fs.readFile ),一段时间后,事件循环执行callback 现在当callback执行时,幕后会发生什么? 当它调用asynchronous的东西时,它会复活它使用的堆栈吗? 在实践中callback所在的上下文是什么? 它是如何工作的? 编辑 :谢谢,我看..只是一个问题,事件循环如何“记住”callback的范围?

浏览器中的语音聊天?

我们希望在服务器上使用node.js在浏览器中实现一个组 – 语音 – 聊天。 这可能吗?

从浏览器到服务器stream录制audio

我希望将来自浏览器的录制audio直播到服务器并播放。 服务器将最终成为播放这些audiostream的embedded式设备。 到目前为止,我已经成功录制了audio,并将其编码成WAVE文件,并使用networkingaudioAPI在浏览器上播放,并遵循本教程 。 现在我有一个.WAV编码的blobstream。 我试图find方法将这些stream与一个web套接字连接stream到一个nodejs后端,并使用npm模块播放它们。 但我没有运气。 有谁知道我应该遵循的任何资源或模块? 也许我应该尝试一种不同的方法? 自从在浏览器上logging以后,audio需要在服务器上相对快速地播放。

如何在Node.js中发送文件之前设置MIMEtypes?

在从我的Node.js服务器发送脚本到浏览器时,在Google Chrome中,我收到以下警告: 资源解释为脚本,但以MIMEtypestext / plain传输 我谷歌周围,发现这是一个服务器端的问题,即我认为我应该设置正确的MIMEtypes的东西,然后再发送。 这里是HTTP服务器的处理程序: var handler = function(req, res) { url = convertURL(req.url); //I implemented "virtual directories", ignore this. if (okURL(url)) //If it isn't forbidden (eg forbidden/passwd.txt) { fs.readFile (url, function(err, data) { if (err) { res.writeHead(404); return res.end("File not found."); } //I think that I need something here. res.writeHead(200); res.end(data); }); […]

HTTP补丁XmlHttpRequest支持

我正在做一些待办事项的应用程序,并希望使用HTTP方法PATCH添加和删除待办事项的,因为这将在语义上比PUT更好。 在后端我使用express.js(node.js)和前端backbone.js(使用jQuery的Ajax)。 我已经试过,如果它实际上在我的本地开发套件(Archlinux,Chromium 20,node.js 0.8,Express 2.X)的后端和前端工作,它的工作原理: app.js app.patch('/todo/:id', function(req, res){ console.log('patch successfull'); } 铬networking控制台 $.ajax({ url: '/messages/4ff13720f00e2e2c4b000006', type: 'PATCH', data: { body: 'that is a patched message' } }); 请求被提及,并且在没有例外的情况下也可以进行数据库操 我现在想知道其他浏览器如何支持修补程序方法。 我看着谷歌,但很难find一些东西,因为PATCH有多重意义…

module.exports客户端

我创build了一个节点模块,它基本上只是一些有用的JS,也可以用在客户端。 我知道require.js可以加载common.js组件,但我不一定要强制使用我的模块客户端的每个人都需要require或common.js什么的。 我也不想强迫他们删除文件底部的module.exports = … 别人怎么解决这个问题呢? 你只是创build2个版本,或2个“编译”版本呢? module.exports工作到处?

BrowserSync非常慢

我很乐意使用BrowserSync进行开发。 但是,页面加载(不仅在更改后重新加载)非常缓慢。 我使用proxy模式。 浏览不带BrowserSync的页面应该是很快的。 一个原因可能是我安装BrowserSync时出现以下错误: > ws@0.4.31 install /usr/local/lib/node_modules/browser-sync/node_modules/socket.io/node_modules/engine.io/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: Finished 我从头开始安装节点(使用brew和软件包安装程序),但无法摆脱错误。 而且,如果使用Gulp或通过命令行运行BrowserSync,则没有什么区别。 任何想法?

JSHint:覆盖整个文件夹的单个.jshintrc选项

我有一个.jshintrc在我的项目的根目录下面的configuration: { "node": true, "smarttabs": true, "undef": true, "unused": true } 这对于我在项目中所有与节点相关的东西都是好的,但是对于浏览器相关的脚本来说并不是这样。 哪些坐在子文件夹中。 是否可以覆盖node选项,同时保留整个文件夹的其他选项? 如果我为浏览器端文件夹创build另一个.jshintrc文件,我必须再次告诉JSHint关于我所有的configuration,虽然我实际上只想取消设置node选项。 我知道我可以在每个文件中设置这个选项,但我实际上想避免这种情况。 提前谢谢了!