Tag: firefox

在收到指定内容范围的206后,Firefox不会请求更多的数据

为了给出一些上下文,我有一个<video>标签,它的src属性指向了我的node.js服务器上的一个方法。 该方法从另一个服务器获取mp4文件,或者是mp4文件的一部分 ,具体取决于浏览器指定的Range HTTP标头,例如: Range:bytes=0- 。 预期行为(Chrome行为) 为了防止我的node.js服务器从第三方服务器下载整个文件,我实现了一个大约5MB的最大缓冲区一次下载。 所以如果用户发送一个请求来获取带有标题的video GET /play-test/videoId HTTP/1.1 Host: 127.0.0.1:8000 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Accept-Encoding: identity;q=1, *;q=0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 Accept: */* Referer: http://127.0.0.1:8000/movie/99861 Accept-Language: en-US,en;q=0.8,es;q=0.6 Range: bytes=0- ..然后我的服务器将作出回应 HTTP/1.1 206 Partial Content X-Powered-By: Express Content-Range: bytes 0-5000000/415473786 […]

是否可以在Firefox扩展中embedded一个node.js服务器?

首先,我想发表一个关于这个问题的评论,但我没有足够的声望…所以我开始一个新的线程。 我的问题听起来很奇怪,但我真的想embedded和节点服务器内的Firefox扩展。 我知道这是一个旧的项目,但据我了解,它很快就会被弃用的XPCOM API,所以这是一个没有办法开始一个新的项目。 我阅读本地消息,但它不允许embedded可执行文件,所以它是没有用的。 浏览器扩展的目的是简化安装过程。 因此,如果我们不能embedded二进制文件,浏览器端的开发人员可以使用node.js API吗? 看来,答案是没有:(。 有人能给我一点希望吗?

无法与FireFox中的socket.io(xhr轮询错误)build立连接

我使用的是socket.io 1.4.8和firefox 48.我有一个示例代码,可以在Chrome中正常工作: // Server var express = require('express'); var app = express(); var fs = require('fs'); var option = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('cert.pem') }; var https = require('https').createServer(options, app).listen(process.env.PORT || 3000); var io = require('socket.io')(https); io.on('connection', function(socket) { socket.on('login', function(username) { console.log('[login]', username); }; } // Client var socket = io('https://127.0.0.1:3000'); var username […]

HTML5video在Firefox上缓慢加载,但在Chrome上非常快

我目前正在实施来自公司另一个站点的videostream代理,透明地处理身份validation。 整个身份validation,部分内容和stream媒体部分似乎迄今为止工作正常,除了一些小的细节:它在Chrome和Edge上运行得非常快,但在FireFox上加载非常缓慢。 而且,如果你从一开始就播放video,FireFox只会发生这种缓慢; 如果你跳过几秒钟,从那一刻开始正常播放。 另外,奇怪的是,如果支持部分内容被删除,video加载好FireFox,但当然,跳过前进是不可能的。 到目前为止,我注意到的一件事情是,FireFox似乎首先发出一个没有“范围”头的请求,然后用“范围”头保持多个请求。 另一方面,Chrome只提供一个没有“范围”的请求; 如果您尝试跳过,则只会将“范围”添加到标题中。 此外,当您从一开始播放video时,FireFox似乎多次请求相同的范围。 有谁知道为什么FireFox会这样做,我能做些什么来改变它的行为或提供它所需要的? 'use strict' const express = require('express'); const router = express.Router(); const request = require('request'); const setCookie = require('set-cookie-parser'); const _ = require('lodash'); const logger = require('./log').normal; const CAMINHO_BASE = 'http://placewherethevideosaretakenfrom/'; let videoEstaAutenticado = false; router.get('/video/*', (req, res) => { let caminho = req.params[0]; logger.info('Video no […]

由于传输层/元/连接调用,使用faye / nodejs的firefox / chrome的长时间初始页面加载

我遇到了一个奇怪的问题,faye / nodejs,由于/ meta / connect调用,页面在初始页面加载时似乎长时间加载。 此页面加载似乎持续正好45s(这是服务器上设置的超时值) 以下是电话的详细信息: 有关电话如下: RAW GET: https ://MYURL.com:8089/notifications ? message =% 5B%7B%22channel%22%3A%22%2Fmeta%2Fconnect%22%2C%22clientId%22%3A%220c3gocq1rwi3sl0dskn4u00e8wj7%22% 2C% 22连接types%22%3A%22回话轮询%22%2C%22%22%3A%225%22%7D%5D&jsonp = __jsonp3__ params:jsonp:__jsonp3__ message:[{“channel”:“/ meta / connect”,“clientId”:“0c3gocq1rwi3sl0dskn4u00e8wj7”,“connectionType”:“callback-polling”,“id”:“5”}] response:__jsonp3 __([{“id”:“5”,“clientId”:“0c3gocq1rwi3sl0dskn4u00e8wj7”,“channel”:“/ meta / connect”,“successful”:true,“advice”:{“reconnect”:“retry ”, “间隔”:0, “超时”:45000}}]); 我已经尝试过没有SSL,但问题仍然存在,所以它似乎并没有涉及到这一点。 这个页面在这段时间内是完全可以响应的,但是对于我的客户来说显然是一个问题,因为他们只是看到ff或chrome中的加载栏,并且在继续之前最终等待整个45秒停止。 任何帮助debugging或缓解这个问题,赞赏; 可能使初始连接调用asynchronous,所以它不会触发初始页面加载? 我也在这里发布了faye google组: https ://groups.google.com/forum/?fromgroups#! topic/ faye-users/xZI4adt3DpA%5B1-25%5D 但是,我还没有得到答复,但似乎我不是唯一的这个问题。 任何帮助表示赞赏。 谢谢! 凯文

客户端websocket限制消息长度

我正在开发一个使用node.js的websockter服务器,并且在Chrome中发现了一些怪癖。 Chrome(OS X 10.7 64位)上的最大string长度是17740,而Firefox似乎处理非常大的string没有问题。 我发现的另一个问题是,可以在websocket hybi-17中发送的最大消息长度是2 ^ 64-1,或者max int是一个无符号的64位整数,但是javascript甚至不能处理数字格式很大的数字。 让你的协议使用你的前端语言无法轻易处理的数字似乎很奇怪。 所以真正的问题是,我可以强制浏览器中的websocket接口将消息限制到一定的长度。 我可以用我自己的function轻松地做到这一点,但我知道它真的不信任任何客户端代码。 我正在寻找在所有平台上获得一致性的最佳方法。

Socket.IO不能在Windows和Chrome上运行

我使用node.js(0.10.10),socket.io(0.9.16)和Express(3.2.6)创build了一个类似于聊天服务器和客户端的Facebook。 在所有浏览器(包括所有版本的Internet Explorer)中都可以正常工作,但Windows上的Firefox(21.0)和Chrome(27.0.1453.116)无法正常工作。 它在OS X上的所述浏览器中工作。 当我尝试通过查看错误事件的返回数据来debugging错误时,数据总是未定义的。 我已经尝试了所有可能的运输。 这是我用来在Windows和Chrome上testing的聊天应用程序的简化代码: 客户: <script src="http://www.xserverx.com:8080/socket.io/socket.io.js"></script> <script> var ioUrl = 'http://www.xserverx.eu:8080'; var socket = io.connect(ioUrl, { 'reconnect': true, 'reconnection delay': 1500, //'sync disconnect on unload': true }); $('#send-button').click(function() { socket.emit('message', { message: $('#message').val() }); }); // Event listeners socket.on('connect', function() { // Display socket transport type // Is empty in […]

从浏览器插件/扩展中控制Arduino设备

我想创build一个浏览器插件或扩展,我可以用它来控制一个Arduino设备。 Arduino设备将通过USB连接到用户的计算机。 用户将访问该插件将识别的网站并下载将用于在本地控制设备的指令。 首选的是用户只需要安装一个浏览器插件,而不必在他们的机器上安装任何单独的软件。 将浏览器连接到Arduino设备的好方法是什么? 我宁愿有一个解决scheme,可以在任何浏览器工作。 一个想法是使用node.js(或其他networking服务器)与Arduino设备进行通信,但这意味着我不得不随同浏览器插件一起安装node.js服务器。 我找不到有关如何做到这一点的任何信息。 我愿意考虑任何语言/框架。 更新:我使用的Arduino设备是Teensy 2.0 USB Board(http://www.pjrc.com/store/teensy_pins.html)。 我们使用这个设备的原因是没有COM /串行转换,所以它提供了完整的USB 2.0吞吐量。 较小的设备对于我们正在构build的设备的外形因素也更好。

从Angular中的服务器下载文本/ csv内容,而不是在Mozilla FireFox中工作

从Angular中的服务器下载文本/ csv内容作为文件 通过回答 – https://stackoverflow.com/users/2064206/dcodesmith $http({method: 'GET', url: '/someUrl'}). success(function(data, status, headers, config) { var anchor = angular.element('<a/>'); anchor.attr({ href: 'data:attachment/csv;charset=utf-8,' + encodeURI(data), target: '_blank', download: 'filename.csv' })[0].click(); }). error(function(data, status, headers, config) { // if there's an error you should see it here }); 我实现了这个解决scheme,使用angular度从服务器下载文件到客户端。 这在Google Chrome中运行良好 。 但是这个解决scheme在Mozilla Firefox中不起作用 。 谢谢

为什么在{{} + 1`在Chrome和Firefox中获得数字1,而在Node.js中使用' 1'?

在Javascript中增加是非常惊人的。 在Chrome和Firefox中, {} + 1等于数字1; 但在Node.js中, {} + 1等于string'[object Object] 1'。 另一方面,在浏览器和Node.js中, 1 + {}等于'1 [object Object]'。 谁能解释为什么在浏览器中{} + 1等于1?