Tag: JavaScript

Socket.io 1.x:只使用WebSockets?

我们正在开发一个只能在现代浏览器(IE10 +)上运行的Web应用程序,原因不同。 我们实现的一个特性是Socket.io 1.x. 但是,默认情况下,Socket.io客户端会尝试支持较旧的浏览器,因此它会启动长轮询连接,然后将其更新到WebSocket。 这是浪费时间和资源,因为我们确定浏览器支持WS。 我search了四周,我只能find这个维基页面 ,但是,这是关于Socket.io 0.9。 最终,我find了engine.io-client的文档 (其中Socket.io-client基于1.x分支)。 这是我写的代码, 似乎正在工作。 但是,我想知道是否正确或者我做错了什么: io.connect('https://…', { upgrade: false, transports: ['websocket'] }) 奇怪的是,只是将transports属性设置为只有websockets的数组是不够的。 我也必须禁用upgrade 。 它是否正确? 更新 我做了一些新的发现。 只有transports设置为['websocket'] ,启用或不启用任何upgrade 。 这是正常的吗?

美元符号之前自我声明在JavaScript中的匿名函数?

这两者有什么区别: $(function () { // do stuff }); 和 (function () { // do stuff })();

如何通过Javascript生成Excel

有什么办法通过Javascript生成Excel / CSV? (它也应该是浏览器兼容的)

如何同步两个div的滚动位置?

我想有2个div大小为特定的宽度(即500像素)。 一个在另一个上面水平排列。 顶部框应该隐藏它的滚动条,底部应该显示一个滚动条,当用户滚动时,我希望顶部框的偏移量改变为底部框的值。 所以当底部DIV水平滚动时,看起来顶部DIV也同时滚动。 如果能让这个过程变得更简单,我很乐意在Jquery中做到这一点。

将键盘焦点设置为<div>

我有以下代码片段: <div id="listbox1div" style="z-index:95; background:white; overflow-y:auto; overflow-x:hidden; width:240; height:314px;"> <a id="focusLink2"></a> <table id="ptObj_listbox1… 我有一个dynamic构build<div>元素的页面(比如上面)。 这个<div>显示主屏幕顶部的数据。 当页面生成div我想设置焦点。 我不能把onLoad函数放在body标签上,因为我不知道什么时候会生成div。 一个<div>标签不能直接在其上设置焦点。 所以我把一个空的<a>标签与我在以下函数中调用的ID: function setTableFocus(count){ var flinkText = 'focusLink'+count; document.getElementById(flinkText).focus(); } 我没有得到任何错误,我知道当页面呈现(通过警报)时正在调用该函数。 但是,当我使用箭头键或inputbutton整个页面移动(甚至不是呈现数据的div)。 当我点击一个表格元素(使用鼠标)。 之后,keydown事件开始工作。 我想要做的是将数据呈现给用户,并自动进行键盘驱动。 有没有人有任何build议,我可以做到这一点?

我应该在哪里声明我的页面中使用的JavaScript文件? 在<head> </ head>或附近</ body>?

我正在阅读一个教程,作者提到要在HTML中closuresbody标签( </body> )附近包含Javascript文件。 我想知道什么types的function,我不应该声明/定义JavaScript包括head部分? 在结束标签附近添加JavaScript等Google Analytics(分析)是非常有意义的。 在定义JavaScript的时候,我应该在哪里小心谨慎地在closuresbody标签附近?

将json结果转换为date

可能重复: 如何格式化JSONdate? 我从JavaScript的$ getJSON调用有以下结果。 如何在JavaScript中将启动属性转换为适当的date? [{“id”:1,“start”:“/ Date(1238540400000)/”},{“id”:2,“start”:“/ Date(1238626800000)/”}] 谢谢!

使用JavaScript和jQuery处理按键事件(F1-F12),跨浏览器

我想要使​​用JavaScript和jQuery处理F1-F12键。 我不确定要避免哪些缺陷,目前我还无法在Internet Explorer 8,Google Chrome和Mozilla FireFox 3等其他浏览器上testing实现。 任何build议到一个完整的跨浏览器解决scheme? 就像一个经过充分testing的jQuery库或者只是香草jQuery / JavaScript?

打印对话框closures后自动closures窗口

当用户点击一个button时,我有一个选项卡打开。 在onload我有它onload对话框,但用户问我是否有可能后,它发送到打印机打印,如果选项卡可以closures自己。 我不确定这是否可以做到。 我曾尝试使用setTimeout(); ,但是由于用户可能会分心并且不得不重新打开标签,所以这不是一段定义的时间。 有什么办法可以做到这一点?

使WebWorkers成为一个安全的环境

为了让浏览器能够运行一个任意的JavaScript代码,并且没有一个典型的妈妈玩笑的安全漏洞, Esailijabuild议使用Web Workers 。 他们运行在一个半沙盒环境(没有DOM访问权限,已经在浏览器中),可以被杀死,因此用户不能把它们放在一个无限循环中。 这是他提出的例子: http : //tuohiniemi.fi/~runeli/petka/workertest.html (打开你的控制台) jsfiddle (仅限Google Chrome) 现在,这似乎是一个很好的解决scheme; 然而,这是一个完整的(或接近完整的)吗? 有什么明显的缺失? 整个事情(因为它连接到一个机器人)可以在github上find: 工作者 , 评估者 主要: workercode = "worker.js"; function makeWorkerExecuteSomeCode( code, callback ) { var timeout; code = code + ""; var worker = new Worker( workercode ); worker.addEventListener( "message", function(event) { clearTimeout(timeout); callback( event.data ); }); worker.postMessage({ code: […]