Articles of 谷歌铬的

正确的标题,但铬说:“资源解释为文档”

我读了很多像这样的问题,但我真的无法弄清楚… 我使用存档器和expression Node.js模块。 我想简单地发送一个zip文件到客户端。 我的代码大致如下所示: res.set("Content-Type", "application/zip"); archive = archiver("zip", {store: true}); archive.pipe(res); 当请求时,zip文件被正确传输,但Chrome抱怨: 资源解释为文档,但使用MIMEtypes的应用程序/ zip传输 如果我把内容types设置为text/json ,我会做一些愚蠢的事情: 资源解释为Document,但是以MIMEtypestext / json传输 所以显然,我在Node.js中设置的是做它的工作,而其他的是这个问题。 它说资源是通过MIMEtypesapplication / zip传输的 ,但是解释为Document。 我如何使它不被解释为文档? 另外,我尝试了这些设置内容types的方法: res.type("application/zip"); res.contentType("application/zip"); 但是我得到了同样的结果。 另一方面,Mozilla不会抱怨任何事情。 类似的问题的一些答案说,这个警告可以被忽略。 我应该忽略它吗? 难道问题是存档是直接pipe道到响应对象? 尽pipe(我重复一遍),邮件发送成功 。 编辑: 设置Content-Disposition也不起作用: res.set({ "Content-Type": "application/zip", "Content-Disposition": "attachment; filename='images.zip'" }); 我也使用<iframe>来发起请求: document.getElementById("iframe-downloader").src = requestUrl; 原因是因为我不想要页面redirect。 我能做到的唯一方法就是这样。 编辑: 改变我的Chrome设置如何这个答案指出不工作。 编辑: […]

反应连接到节点Cors预检失败

节点服务器 var app = express(); app.use(function(req, res, next) { res.header('Access-Control-Allow-Credentials', true); res.header('Access-Control-Allow-Origin', req.headers.origin); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept'); if ('OPTIONS' == req.method) { res.send(200); } else { next(); } }); React JS Fetch function request(url, options) { return fetch(url, options) .then(checkStatus) .then(parseJSON); } export function* login() { const username = yield select(makeSelectUsername()); const […]

为什么Chrome会将引用types为Date的对象的原型视为“Object {}”,而不是“Date {}”?

代码很简单。 var now = new Date(); console.log(now.__proto__); console.log(now.__proto__.__proto__); console.log(now.__proto__.__proto__.__proto__); 在Chrome的控制台中,结果显示为屏幕截图。 结果在Node.js的控制台中似乎是正确的。 为什么不now.\__proto\__在Chrome的控制台中返回Date {} ?

V8垃圾收集可用内存吗?

我正在阅读V8文档 ,它说垃圾回收器“回收”内存。 我的问题是“回收”在自己的堆中使用的内存还是释放它? 提前致谢。

一个简单的URL如何从一个Web浏览器发生多个请求?

当尝试从node.js应用程序服务页面时,我碰到这个问题。 如何从服务器提供多个文件,只需要用户发送一个简单的请求? 例如: 用户在地址栏中inputwww.google.co.in 浏览器向该url发出请求,并且应该以响应结束。 但是,发生的事情是,更less的请求从该页面发送到服务器就像一个链。 我现在的想法是,我的networking浏览器(chrome)如何发送这些额外的请求…或者是谁在提示chrome来做这件事? 和当然,我怎么能做同样的我的node.js应用程序。

node.js上的websocket握手

我正在尝试构build一个代码来pipe理与node.js的websocket连接 我没有find一个方法让握手在铬中被接受 Chrome返回“WebSocket连接到'ws://127.0.0.1:8888 /'失败:在WebSocket握手期间出现错误:Sec-WebSocket-Accept不匹配” 有了这个 << >>> var http=require("http"); var crypto=require("crypto"); var server=http.createServer(function(req,res){ res.writeHeads("200","content-type:text/plain"); res.end(); }); server.on("upgrade",function(req,socket,head){ for(var item in req.headers){ console.log(item); console.log(req.headers[item]); } var GUID="258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; var secKey=req.headers["sec-websocket-key"]; var sha=crypto.createHash("sha1"); secKey+=GUID; secKey=sha.update(secKey).digest("base64"); var key64=new Buffer(secKey); key64=key64.toString("base64"); console.log(key64); var headersReturn='HTTP/1.1 101 Switching Protocols\r\n'; headersReturn+='Upgrade: websocket\r\n'; headersReturn+='Connection: Upgrade\r\n'; headersReturn+='Sec-WebSocket-Accept:'+key64+"\r\n\r\n"; var boo=socket.write(headersReturn); console.log(headersReturn); socket.on("connect",function(){console.log("success");}); socket.on("data",function(data){ console.log(data); }); }); […]

V8是否在一个范围内的单个碎片上进行垃圾回收?

我感兴趣的是V8是否在一个范围内的单个variables的内容上进行垃圾回收,还是只在整个范围内进行垃圾回收? 所以,如果我有这个代码: function run() { "use strict"; var someBigVar = whatever; var cnt = 0; var interval = setInterval(function() { ++cnt; // do some recurring action // interval just keeps going // no reference to someBigVar in here }, 1000); someBigVar = somethingElse; } run(); V8垃圾收集一些someBigVar ? run()的闭包因为setInterval()callback而保持不变,显然cntvariables仍在使用,所以run()的整个范围不能被垃圾收集。 但是,没有实际的持续参考一些someBigVar 。 V8只有垃圾一次收集整个范围吗? 那么, run()的范围不能被垃圾回收,直到间隔停止? 或者是足够聪明的垃圾收集someBigVar因为它可以看到在实际引用someBigVar的区间callback没有代码? 仅供参考,这里有一个关于V8垃圾收集的有趣的概述文章 […]

CORS:预检通过,主要请求完成w / 200,但浏览器仍然有Origin错误

我正在向运行express的节点服务器发送CORS ajax请求。 在服务器日志和js控制台中,我都可以看到预检OPTIONS请求成功。 然后,主要的请求也成功的服务器和响应200和我认为是正确的标题。 但是,在Chrome中,networking标签会将后一个请求报告为“已取消”,并且不会接受或处理该响应: XMLHttpRequest无法加载http://myserver.com/upload 。 Access-Control-Allow-Origin不允许Origin http://mysite.com 。 以下是服务器日志,其中包含为请求和响应打印的标题: 76.79.201.210 – – [27/Jun/2013:23:23:17 +0000] "OPTIONS /upload HTTP/1.1" 204 0 "http://mysite.com/add" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36" START { host: 'localhost:5001', connection: 'close', 'content-length': '109587', origin: 'http://mysite.com', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, […]

在移动Chrome中模拟地理位置

我的问题是基于Chrome的GeoLocation欺骗,它允许我交换我的位置,以testing我的nodejs应用程序。 问题在于它的devise是在运动的历史之后留下一个“痕迹”。 每当我需要移动时,在Chrome控制台中input新的坐标真的很烦人。 你能指点我一个地方/插件/一段代码,我可以在一个圆圈(使用循环)中设置10-20个坐标,并强制仿真每隔几秒钟遵循这些坐标。 那么我可以最终模拟移动并从前端观点继续开发跟踪function? 我的观点是我需要一个真实的欺骗者,Chrome给了我们完美的一个,但是我得让这个小家伙感动。

为什么v8在这种情况下内存不足?

根据node.js文档,一个节点在32位版本上有一个512meg的限制,在64bit版本上有一个1.4gig的限制。 Chrome AFAICT的限制是相似的。 (+/- 25%) 那么,为什么这个代码在内存使用量不超过424meg的时候会耗尽内存呢? 这里是代码( 代码是无稽之谈,这个问题不是关于代码是做什么的,这是关于代码失败的原因 )。 var lookup = 'superCaliFragilisticExpialidosiousThispartdoesnotrealllymattersd'; function encode (num) { return lookup[num]; } function makeString(uint8) { var output = ''; for (var i = 0, length = uint8.length; i < length; i += 3) { var temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + […]