草庐IT

noopener

全部标签

javascript - javascript 中的压缩问题

我有一个要压缩的对象。它的形式是[{arraystring},{arraystring},...]数组的长度不超过10-15,与字符串相比非常小(它们是html,长度大约为170k)。虽然这些字符串通常是重复的,或者有大量的重叠。所以我的直觉告诉我压缩值应该是1个字符串的压缩值,加上一点额外的。我JSON.stringify这个对象并尝试压缩。大多数压缩库在压缩字符串方面做得不好,因为服务器向我发送了77kb的gzip压缩版本,我知道它至少可以这么小。gzip-jslzma-js在我试过的大约15个库中做得很好。问题是gzip-js在字符串数量上是线性的。但是lzma正确地做到了这一点

javascript - 你能 "plug in"到 Chrome 中未处理的 Promise 拒绝吗?

这个问题在这里已经有了答案:Catchallunhandledjavascriptpromiserejections(4个答案)关闭7年前。不久前,v8获得了capabilitytodetectPromisesthatarerejectedbuthavenohandlersattached(commit)。这作为一个很好的控制台错误出现在Chrome中,当您输入错误或忘记附加处理程序时特别有用:我想添加一个处理程序来在发生这种情况时采取一些行动(例如,向错误报告服务报告),类似于未捕获的异常模式:window.addEventListener("error",handler);或者,我

javascript - 转换后的 SVG 元素上的 getBoundingClientRect() 应该返回什么?

今天我测试了当你使用getBoundingClientRect()时会发生什么在已旋转的SVG元素上。测试:http://phrogz.net/svg/getBoundingClientRect-on-rotated-elements.html结果是:Chrome、Safari、Opera和IE似乎计算元素的本地(未转换的)边界框,然后返回该边界框的客户端rect。这可能导致客户端矩形比看起来合适的大。另一方面,Firefox裁剪客户端矩形以适合元素本身。根据规范,哪种行为是正确的?为了它的值(value),我prefertheFirefoxbehavior,但(不了解规范)认为Fir

javascript - 添加到 ace-editor 明智的自动完成 : List user-defined functions and variables (javascript language)

我想将用户定义的函数和变量列表添加到ace编辑器的自动完成功能中。为此,我想检查用户插入到文档中的所有代码,找到定义的函数(及其参数)、定义的变量及其作用域等。主要问题这些数据是否已经在ace源代码(或语言插件)的某处计算出来,我可以通过某种方式获取它?`我想要什么例如,如果用户插入这样的代码:varvar0='abcd';functionfoo(var1,var2){varvar3='efg';}我想在自动完成框中添加名为“foo”的函数,它有两个参数——var1和var2。我还想将var0添加到变量列表中,并在用户在定义的范围内(在函数中)写入时添加var3。我已经知道的:我知道如

javascript - 离线使用 Firebase Angular 应用程序

我目前正在构建一个Angular1.x应用程序,使用Firebase和AngularFire作为我选择的后端/服务器。由于该应用程序/网站针对移动设备进行了优化,并且当您将其添加到主页时非常适合作为应用程序,我想知道如何即使手机处于离线状态也能让用户使用它。在网上搜索,我发现Firebase为AndroidJava的对应项提供了一个keepSynced(true),但是我无法为js找到这样的选项。然后,我使用HTML5的localStorage和基于上次更改时间的同步来采用手动方法,但由于我使用的是AngularFire的一些方便命令(例如$save),所以我的大部分代码都以这种方式被

javascript - 结合 Galen 和 Protractor 框架

故事我们一直在广泛使用Protractor框架,并建立了相当大的测试代码库。我们也一直在关注PageObjectpattern组织我们的测试。最近,我们开始使用Galenframework填补视觉/布局/响应式设计测试的空白。我们真的很喜欢这个框架,并希望继续更多地使用它。目前最大的问题是页面对象。这两个框架都有自己定义页面对象的方式。这是一个Protractor页面对象示例:varLoginPage=function(){this.username=element(by.id("username"));this.password=element(by.id("password"));

Javascript文件上传

在大多数浏览器中,inputtype="file"具有以下文件属性:document.getElementById("my-input").files这可以用来检测文件是否上传,并获取文件。但是,在IE9中似乎不存在files属性。添加:在jQuery中,你可以做...$("#my-input").val()读取文件名。如何获取文件内容? 最佳答案 使用jQuery和thisplugin. 关于Javascript文件上传,我们在StackOverflow上找到一个类似的问题:

javascript - 从 tinyMCE 编辑器中聚焦后,IE 无法将焦点和光标放在输入文本框上

我刚刚在tinyMCEfiddle中重现了同样的错误。这是链接:http://fiddle.tinymce.com/39daab页面上有简要说明...按照这些步骤将向您显示我遇到的错误...我一直在尝试自己解决这个问题,但我认为我做不到。我浏览了tinyMCE文档和错误报告页面一千遍,但我无法得到这方面的提示。IE可以放置焦点,但不能将光标放在输入元素上,这真的很奇怪。您可以通过选择$('*:focus')...来检查当前获得焦点的元素聚焦有效,但放置光标无效。 最佳答案 张贴这个以防它帮助遇到这个问题的其他人。我有一个类似的问题。

javascript - 我如何使用自己的 JavaScript 库处理 "think in QUnit"?

我如何使用自己的JavaScript库“在Qunit中思考”?我熟悉使用javascript进行开发,但现在我想开始使用Qunit(使用我的HTML/JavaScript应用程序)。我制作自己的图书馆。我使用公共(public)函数和私有(private)函数。我还使用异步函数(事件监听器和回调)similartojQuery:varmylib;(function(){//...})();我不知道如何组织它。这里有几个问题来阐明我正在寻找的答案类型:如何对私有(private)函数进行单元测试?如何合并数百个测试?根据您的经验,组织测试的最佳方法是什么?我应该使用多个HTML文件吗?我

javascript - 在开发期间,如何在 watchify 完成之前阻止页面加载?

这是一个典型的工作流程:编辑JS文件保存文件,watchify自动开始为我重建它alt-tab到浏览器ctrl+R重新加载页面这很好,除非watchify花费的时间比第3步和第4步长,否则它会很糟糕,因为您要么得到陈旧的代码,要么得到一个错误。有没有一种简单的方法可以保证这种情况永远不会发生?就像watchify向我的服务器发出信号,它应该在尝试加载请求的页面之前再等待一秒钟的方式?如果不存在这样的事情,人们在实践中如何处理这个问题?我一定很不擅长谷歌搜索,因为除了this,我什至找不到谈论这个问题的人。它说“添加一个简单的(基于节点的)服务器,该服务器将阻止请求,直到watch完成运