草庐IT

网络优化iOS

全部标签

javascript - 优化击倒/TKO - Alpha3

现代化进程中Knockout对于4.0版(现在位于monorepotko),我遇到了一些性能问题。在其他变化中,一些内部循环的东西已经转换为ES6类,这导致了一些主要的性能问题。我不想撤销这项工作,因为它为一些关键代码增加了相当多的清晰度,所以我想征求一些关于如何改进ES6代码的意见。我在这里设置了一些用于分析的简单示例:KnockoutAlpha2-349毫秒KnockoutAlpha3(prerelease)-622毫秒jsFiddles中的代码如下,它是许多绑定(bind)所经历的减速的原型(prototype)。HTML:{{count}}/{{time}}mscc{{#unl

javascript - 使用 socket.io 的内存泄漏

我发现当手动断开套接字时,套接字并没有在套接字io服务器端被完全破坏。我找到了thistopicongithub有用。当我在寻找一些阻止GC清理套接字的变量链接时,我在这里问一个问题。如果这里有人遇到同样的问题,这会很有帮助。无效的代码:socket.on('disconnect',function(){socket.removeAllListeners();});///...................socket.disconnect();但是,使用受限库字段的解决方法:deleteio.sockets[url];io.j=[]; 最佳答案

javascript - 如何在 Google Chrome 扩展程序中获取网络请求的结果?

当我用Chrome收听所有HTTP请求时API,我怎样才能得到从中收到的实际数据?我的意思是,如果请求是在php页面(XMLHttpRequest)上发出的,我如何才能获取此页面的内容?.Iamnowqueringthedatawithanajaxrequest.Butthisisn'tagoodsolution.ThemainproblemiswhentherequestusesPOSTmethod.ThedatarecievedfromtheajaxqueryisnotthesameasthedatarecivedfromtheHttpRequest.

javascript - Facebook 共享器和 prerender.io(在 angularjs 应用程序中)

我刚刚在我的tomcat服务器中设置了prerender.iomiddlewave(运行一些java网络服务和一个angularjs应用程序)。服务(prerender)正常工作,我可以看到添加到列表中的页面(当我向用户代理发送请求模拟时也是如此)。我的问题是Facebook分享按钮(来自addthis)。基本上,如果我访问一个尚未缓存的页面并单击“在Facebook上分享”按钮,它会向我显示angularjs模板,而不是“呈现”的模板。奇怪的是,然后我可以在Prerender.ioadmin上看到该页面。好像是太慢了,超时了。我仍然不知道它是如何获得页面的非缓存版本的。在第一次错误调

javascript - IOS 和 Android 上的 YouTube 嵌入 API 问题

最近几天YouTube嵌入API出现了一个问题。问题是,当您使用官方API嵌入视频时,它根本不允许您访问API。当您尝试访问API时,您在日志(IOS)上收到错误消息,如果您尝试通过API播放视频,视频会中断。如果您通过API加载它,但您不使用API,则用户可以点击播放视频。此问题在以下浏览器上仍然存在:iPad和iPhone上的IOS7SafariiPad和iPhone上的IOS7Chrome安卓4Chrome(我的播放按钮使用API播放视频并产生错误)JSfiddle:http://jsfiddle.net/frdd8nvr/6/错误信息:Unabletopostmessageto

javascript - 关于 JSLint,它对 for 循环的厌恶,以及尾调用优化

我注意到新版本的JSLint不喜欢某些形式的for循环。我发现这很奇怪,并开始寻找一些解释。在JsLint的helppage下,你可以找到这个:ThemostimportantnewfeatureofES6ispropertailcalls.Thishasnonewsyntax,sojsLintdoesn'tseeit.Butitmakesrecursionmuchmoreattractive,whichmakesloops,particularlyforloops,muchlessattractive.还有这个:jsLintdoesnotrecommenduseoftheforsta

javascript - 服务 worker 的网络推送通知

我有几个关于webpush通知和serviceworker的问题授予网站的权限持续多长时间?包含webpush端点和key的订阅对象是否发生变化?如果它改变了,我怎么知道它改变了?是否应该随时重新生成订阅对象?非常感谢 最佳答案 这里是您问题的答案!Howlongdoesagrantedpermissionlastforawebsite?始终检查是否有使用通知API的权限。重要的是要不断检查是否已授予权限,因为状态可能会发生变化。用户可以手动禁用权限,因此每次都要检查以避免破坏代码Doesthesubscriptionobjectt

javascript - 为什么这段 JavaScript 代码经过 Node.js 优化后运行速度变慢了

我正在为ICPC创建一个解决方案使用JavaScript和Node.js的问题当我遇到一个有趣的问题时:在某些情况下,我的程序在同一数据集上的运行速度会慢两倍。我精简了它,直到我得到这个演示行为的最小示例:functionsolve(arr){consttotal=arr.reduce((a,c)=>a+c,0);constcount=arr.length;for(leti=0;i这是使用Nodev10.15.1运行node--trace-optcode.js的输出:[marking0x005062b82521foroptimizedrecompilation,reason:small

javascript - 如何在生产环境中动态加载多个优化的 requirejs 模块?

我已经开始在虚拟项目中使用requirejs。我现在想使用r.js脚本构建我的生产项目。上下文是这样的:名为start.js的主文件是:require([/*somestuff*/],function(){/*applogic*/});它有一个if,它根据某些条件决定我应该要求什么。所需的文件是ModuleA或ModuleBModuleA和ModuleB都有依赖关系。define([/*somedeps*/],function(dep1,dep2...){/*applogic*/return{/*interface*/}在优化和模块连接之前,在开发模式下一切正常。在使用r.js构建时,

javascript - 长轮询 XMLHttpRequests 和间歇性网络连接的问题

我已经实现了一个长轮询连接,允许我在前端使用TomcatWeb服务器和标准javascript进行服务器端推送(comet)。为了保持连接继续,我有一个简单的保持事件循环,它会在最后一个请求完成/失败后立即启动一个新请求。在绝大多数情况下,这种连接工作得非常好,并且如我所料地保持事件状态。但是,我注意到当用户的互联网连接断开时(例如,他们从VPN断开连接,拔掉他们的以太网,等等)并且我有一个待处理的XMLHttpRequest到服务器,我没有得到失败的迹象。正因为如此,连接悄无声息地消失了,除非我不断地向服务器发送请求来测试连接(这似乎违背了使用长轮询的目的),否则我无法知道它发生了。