草庐IT

javascript - 为什么我的 Promise 数组在调用 Promise.all() 之前运行?

我正在尝试创建一个Promise数组,然后使用Promise.all()解决它们。我正在使用got,它返回一个promise。我的代码可以工作,但我不完全理解如何工作。在这里:constgot=require('got');consturl='myUrl';constparams=['param1','param2','param3'];letpromiseArray=[];for(paramofparams){promiseArray.push(got(url+param));}//Inspectthepromisesfor(promiseofpromiseArray){consol

在页面更改之前运行的 Javascript 事件

有这样的事情吗?我知道我可以在所有链接的点击事件上Hook我的函数,但是在其他情况下页面会发生变化,比如刷新或不同的脚本更改window.location最后,我通过卸载事件中的postMessage发送一个字符串来做到这一点,如下所示:$(window).bind('unload',function(e){window.parent.postMessage('unloading');});在父文档中:$(window).bind('message',function(e){if(e.originalEvent.data=='unloading'){//ajaxstuffhere}})

javascript - 解析电子邮件中 ​​ "@"符号之前的文本

我正在尝试编写一个函数,它将用户的电子邮件作为参数并返回电子邮件的第一部分,直到但不包括“@”符号。问题是我对函数很糟糕,这个函数有问题,但我不确定它是什么。当我尝试将函数写入页面以查看它是否正常工作时,它一直显示未定义。functionemailUsername(emailAddress){varuserName="";for(varindex=0;index我确信还有其他方法可以做到这一点,但我需要大致遵循这种格式,即使用函数检查“@”之前的内容并使用方法找出它。 最佳答案 像这样:returnemailAddress.subs

javascript - 无损压缩方法在base64编码之前缩短字符串以使其更短?

刚刚构建了一个用于预览HTML文档的小型Web应用程序,它生成的URL:s包含base64编码数据中的HTML(以及所有内联CSS和Javascript)。问题是,URL:s很快就会变得有点长。在不丢失数据的情况下首先压缩字符串的“实际”标准方法是什么(最好是通过Javascript)?附言;前段时间我在学校读到Huffman和Lempel-Ziv,我记得我真的很喜欢LZW:)编辑:找到解决方案;似乎rawStr=>utf8Str=>lzwStr=>base64Str是要走的路。我正在进一步致力于在utf8和lzw之间实现霍夫曼压缩。到目前为止的问题是太多的字符在编码为base64时变

javascript - 在启用开发人员工具之前,IE11 中的 javascript 执行缓慢

我有一个非常大的javascript应用程序,其中主要包含asm.js代码(它建立在urho3dc++引擎之上,它们被编译成asm.js)。它在大多数浏览器(chrome、firefox、safari、edge)上运行良好,但在IE11上运行速度极慢。问题是,在您打开开发人员工具之前,它只会很慢。打开开发人员工具后,IE11的速度提高了约10倍,几乎与其他浏览器一样快。这是一个重现问题的最小示例:http://test.sebbia.com/urho3d/test.html在任何工作的浏览器中打开页面,“运行-开始”消息和“运行-完成”消息之间的时间应在1-2秒左右。在没有开发者工具的

javascript - 为什么 window.onload 事件发生在 $(document).ready 之前?

如本帖所述:window.onloadvs$(document).ready().window.onload应该晚于$(document).ready()但在这个简单的代码中,日志会显示onload事件在就绪事件之前执行?我在这里错过了什么?ASimpleSite$(document).ready(function(){console.log("readyeventfired");})window.onload=function(){console.log("onloadeventfired");} 最佳答案 问题不在于事件的顺序。

javascript - 在 $(document).ready() 触发器之前运行一个函数

我已将多个文件中的多个函数附加到$(document).ready,并希望附加一个函数在它们之前发生,作为$(document).ready处理的第一个函数或在$(document).ready之前独立触发(文档).ready处理程序。有什么方法可以处理jQuery作为jQuery.fn.ready的一部分在内部触发的函数的顺序,或者Hook在jQuery.fn.ready之前调用的函数。在第3方脚本中编辑jQuery.fn.ready是否安全,或者它是否会对其他第3方插件造成可怕的影响(除了自己编辑jQuery.fn.ready的插件)[编辑]:举个例子$(document).rea

javascript - 是否保证事件处理程序在调用 AJAX 回调之前完成?

假设我有一个对服务器进行两次AJAX调用的事件处理程序:$("#foo").click(function(){$.get("bar",function(){alert("Hello");});$.get("baz",function(){alert("World");});});我意识到调用回调的顺序是不确定的,因为它取决于每个请求需要多长时间等。但这是我的问题:是否可以保证在调用任一回调函数之前到达事件处理程序的末尾?我读到页面的所有Javascript都在单个线程中执行,所以我认为这意味着我的click事件处理程序保证在调用任何回调之前完成。这是正确的吗?或者是否有可能第一个请求可

javascript - 是否可以在图像开始加载之前运行 javascript?

我想在浏览器请求图像之前更改图像的src属性,目的是使用像Timthumb这样的PHP脚本来减小图像的大小。使用jQuery,我认为$(document).ready可以解决问题:$(document).ready(function(){varimgs=$('#containerimg');jQuery.each(imgs,function(){$(this).replaceWith('');});});但原始的、未调整大小的图像仍会在后台下载到浏览器的缓存中。是否可以在客户端执行我正在尝试执行的操作,或者服务器端是唯一的选择吗? 最佳答案

javascript - AngularJS:在任何部分页面 Controller 之前调用特定函数

我想在我的应用程序加载开始时调用一个特定的函数:GetSession()。此函数进行$http调用并从服务器获取sessiontoken:GlobalSessionToken。然后,此sessiontoken用于其他Controller逻辑并从服务器获取数据。我在主Controller中调用了此GetSession():$routeChangeStart事件中的MasterController但作为异步调用,我的代码向前移动到CustomerController在$http响应之前。这是我的代码:varGlobalSessionToken='';//willgetfromserverl