Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

6
如何为Node.js编写异步函数
我试图研究应如何精确地编写异步函数。经过大量的文档研究后,我仍然不清楚。 如何为Node编写异步函数?如何正确实施错误事件处理? 问我问题的另一种方式是:我应该如何解释以下功能? var async_function = function(val, callback){ process.nextTick(function(){ callback(val); }); }; 另外,我在SO上发现了这个问题(“如何在node.js中创建非阻塞异步函数?”)。我感觉还没有得到答复。

6
失败后,为什么Internet Explorer在Ajax调用上不发送HTTP正文?
我们能够可靠地重新创建以下情况: 创建一个小的HTML页面,该页面向服务器发出AJAX请求(使用HTTP POST) 断开网络连接,然后重新连接 监视失败后IE生成的数据包 网络连接失败后,IE将发出下一个AJAX请求,但在执行HTTP发布时仅发送HTTP标头(而不是正文)。由于这只是部分请求,因此会在服务器上引起各种问题。Google与Bing有关此问题,您会发现很多人抱怨使用AJAX或“无法解释的AJAX故障”导致的“服务器随机错误”。 我们知道IE(与大多数其他浏览器不同)总是将HTTP POST作为两个TCP / IP数据包发送。标头和正文分别发送。在发生故障后,IE仅直接发送header。IE从不发送有效负载,服务器最终以超时响应。 所以我的问题是-为什么它会这样表现?基于HTTP规范,这似乎是错误的,其他浏览器却没有这种行为。这仅仅是一个错误吗?当然,这会在任何基于AJAX的严重Web应用程序中造成严重破坏。 参考信息: 还有一个类似的问题,是由少于1分钟的HTTP保持活动超时触发的,记录在这里: http://us.generation-nt.com/xmlhttprequest-post-sometimes-fails-when-server-using-keep-aliv-help-188813541.html http://support.microsoft.com/default.aspx?kbid=831167

1
jQuery版本1,版本2和版本3有什么区别?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我最近偶然发现了webchart.js使用jQuery版本2 的页面设计,而我使用的是jQuery版本1。 为了使代码正常工作,请使用现在的最新版本,然后检查了jQuery核心支持,并发布了jQuery 3。 我正在考虑现在使用版本3,但是我正在寻找版本3是否存在兼容性问题,因此只能在特定设备上使用。
114 javascript  jquery 

9
为什么字符串连接比数组连接快?
今天,我阅读了有关线程串联速度的主题。 令人惊讶的是,字符串连接是赢家: http://jsben.ch/#/OJ3vo 结果与我的想法相反。此外,与此有关的文章很多,都与此相反。 我可以猜测浏览器已针对concat最新版本进行了优化,但是如何做到这一点呢?我们可以说+串联字符串时最好使用吗? 更新资料 因此,在现代浏览器中,对字符串串联进行了优化,因此使用+符号比join要串联字符串时使用符号要快。 但是@Arthur指出,join如果您实际上想使用分隔符连接字符串,则速度会更快。 更新-2020 Chrome:数组join几乎2 times faster是String concat + 参见:https : //stackoverflow.com/a/54970240/984471 注意: join如果有的话,数组更好large strings 如果我们需要several small strings在最终输出中生成,最好使用字符串concat +,否则使用Array会在末尾需要几次Array到String的转换,这会导致性能超载。

2
何时使用ko.utils.unwrapObservable?
我已经使用KnockoutJS编写了一些自定义绑定。我仍然不确定何时使用ko.utils.unwrapObservable(item)看代码,该调用基本上会检查是否item可观察到。如果是,则返回value(),如果不是,则仅返回值。查看有关创建自定义绑定的淘汰赛部分,它们具有以下语法: var value = valueAccessor(), allBindings = allBindingsAccessor(); var valueUnwrapped = ko.utils.unwrapObservable(value); 在这种情况下,它们通过调用observable,()然后又调用ko.utils.unwrapObservable。我只是试图掌握何时使用一个与另一个的关系,或者是否应该始终遵循上述模式并同时使用两者。

3
ReactJS:双向无限滚动建模
我们的应用程序使用无限滚动来浏览大量异构项目列表。有一些皱纹: 对于我们的用户来说,通常有10,000个项目的列表,并且需要滚动3k +。 这些都是丰富的项目,因此在浏览器性能变得无法接受之前,我们只能在DOM中拥有几百个。 这些物品的高度各不相同。 这些项目可能包含图像,我们允许用户跳转到特定日期。这很棘手,因为用户可以跳到列表中需要在视口上方加载图像的位置,这会在加载时将内容下推。无法处理意味着用户可能会跳到某个日期,但是随后又被转移到了更早的日期。 已知的不完整解决方案: (react-infinite-scroll)-这只是一个简单的“当我们触底时加载更多”组件。它不会剔除任何DOM,因此它将死于数千个项目上。 (带有React的滚动位置)-显示在顶部插入或底部插入(而不是同时插入)时如何存储和恢复滚动位置。 我不是在寻找完整解决方案的代码(尽管那会很棒)。相反,我正在寻找“ React Way”来为这种情况建模。滚动位置是否处于状态?我应该跟踪什么状态以保留我在列表中的位置?我需要保持什么状态,以便在滚动到渲染内容的底部或顶部附近时触发新的渲染?

11
WebRTC-可伸缩的实时流广播/多播
问题: WebRTC为我们提供了对等视频/音频连接。非常适合p2p通话,环聊。但是广播(一对多,例如1-to-10000)又如何呢? 假设我们有一个广播公司“ B”和两个与会者“ A1”,“ A2”。当然,这似乎是可以解决的:我们只需将B与A1连接起来,然后将B与A2连接起来。因此,B直接将视频/音频流发送到A1,将另一个流发送到A2。B发送两次流。 现在,假设有10000位与会者:A1,A2,...,A10000。这意味着B必须发送10000个流。每个流约为40KB / s,这意味着B需要400MB / s的传出互联网速度来维持此广播。不能接受 原始问题(过时) 是否可以通过某种方式解决此问题,因此B在某个服务器上仅发送一个流,而与会者只是从该服务器中拉出该流?是的,这意味着该服务器上的传出速度必须很高,但是我可以维持它。 也许这意味着破坏WebRTC的想法? 笔记 根据最终用户的不良UX,Flash无法满足我的需求。 解决方案(并非完全如此) 2015年5月26日-目前尚无针对WebRTC的可伸缩广播的解决方案,您根本不需要使用媒体服务器。市场上有服务器端解决方案以及混合(p2p +服务器端,具体取决于不同的条件)。 尽管有一些很有前途的技术,例如https://github.com/muaz-khan/WebRTC-Scalable-Broadcast,但他们需要回答以下可能的问题:延迟,整体网络连接稳定性,可伸缩性公式(它们可能不是无限可伸缩的) )。 建议 通过调整音频和视频编解码器来减少CPU /带宽; 获取媒体服务器。


21
有效替换字符串中的所有重音字符?
对于穷人在客户端实现近排序正确排序的情况,我需要一个高效的JavaScript函数替换字符串中的单个字符。 这就是我的意思(请注意,这适用于德语文本,其他语言则不同): 本机排序弄错了:abcouzäöü 正确的排序规则是:aäbcoöuüz 基本上,我需要将给定字符串的所有出现的“ä”替换为“ a”(依此类推)。这样,本机排序的结果将非常接近用户的期望(或数据库将返回的结果)。 其他语言也具有执行此操作的功能:Python提供str.translate(),在Perl中tr/…/…/,XPath具有功能translate(),ColdFusion具有ReplaceList()。但是JavaScript呢? 这就是我现在所拥有的。 // s would be a rather short string (something like // 200 characters at max, most of the time much less) function makeSortString(s) { var translate = { "ä": "a", "ö": "o", "ü": "u", "Ä": "A", "Ö": "O", "Ü": "U" // probably …


6
Webpack 4-如何配置最小化?
Webpack 4附带以下语句: webpack.optimize.UglifyJsPlugin已被删除,请改用config.optimization.minimize。 足够公平,但是我找不到有关配置在后台运行的UglifyJsPlugin实例的任何信息,例如,更改缓存目录。能做到吗?

3
HtmlWebpackPlugin注入相对路径文件,该文件在加载非根网站路径时会中断
我正在使用webpack和HtmlWebpackPlugin将捆绑的js和css注入html模板文件中。 new HtmlWebpackPlugin({ template: 'client/index.tpl.html', inject: 'body', filename: 'index.html' }), 并生成以下html文件。 <!doctype html> <html lang="en"> <head> ... <link href="main-295c5189923694ec44ac.min.css" rel="stylesheet"> </head> <body> <div id="app"></div> <script src="main-295c5189923694ec44ac.min.js"></script> </body> </html> 当访问应用程序的根目录时,此方法工作正常localhost:3000/,但是当我尝试从另一个URL访问应用程序时,此方法将失败,例如,localhost:3000/items/1因为捆绑的文件未注入绝对路径。加载html文件时,它将在不存在的/items目录中查找js文件,因为react-router尚未加载。 如何获得HtmlWebpackPlugin以绝对路径注入文件,所以express将在我的/dist目录的根目录而不是在目录的根目录查找它们/dist/items/main-...min.js?或者,也许我可以更改我的快速服务器以解决此问题? app.use(express.static(__dirname + '/../dist')); app.get('*', function response(req, res) { res.sendFile(path.join(__dirname, '../dist/index.html')); }); 本质上,我只需要了解以下内容: <script src="main...js"></script> 在源代码的开头加上斜线。 <script src="/main...js></script>


8
根据覆盖的背景区域的亮度更改文本颜色?
我已经考虑了以下内容,所以现在我想知道您的意见,可能的解决方案等等。 我正在寻找一种插件或技术来更改文本的颜色,或者根据其父​​级背景图像或-color覆盖像素的平均亮度在预定义的图像/图标之间切换。 如果背景覆盖的区域很暗,请将文本设置为白色或切换图标。 此外,如果脚本会注意到父级没有定义的background-color或-image,然后继续搜索最接近的值(从父元素到其父元素),那将是很好的选择。 您对此想法有什么看法?已经有类似的东西了吗?脚本示例? 干杯J.
114 javascript  jquery  html  css  sass 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.