草庐IT

异步处理

全部标签

javascript - clearTimeout 可以删除 Javascript 中触发的超时事件的未处理回调吗?

如果我为一个已经触发但其回调仍在执行队列中的setTimeout事件调用clearTimeout,clearTimeout是否仍然阻止处理该事件?换句话说,是否仍然可以在定时器触发和回调执行的延迟期间清除超时事件?通俗地说,我的猜测是,一旦超时触发,它会将回调排队并销毁自身——使用该计时器的id创建一个clearTimeout对排队的回调没有影响。 最佳答案 我认为答案是yes.(我目前使用的是Firefox。)编辑—为了完整起见,我构建的测试是这样的:vart1=setTimeout(function(){clearTimeout

javascript - 为什么具有许多有效数字的数字在 C# 和 JavaScript 中的处理方式不同?

如果JavaScript的Number和C#的double指定相同(IEEE754),为什么具有许多有效数字的数字处理方式不同?varx=(long)1234123412341234123.0;//1234123412341234176-C#varx=1234123412341234123.0;//1234123412341234200-JavaScript我不关心IEEE754不能表示数字1234123412341234123的事实。我关心的是这两种实现对于不能完全精确表示的数字的行为不同。这可能是因为IEEE754未指定,一个或两个实现有问题,或者它们实现了IEEE754的不同变体

javascript - CefSharp 在任何文档加载/处理之前注入(inject) Javascript

对于我正在处理的项目,我需要在任何网页文档处理开始之前注入(inject)javascript。这可以通过WebBrowser组件轻松实现,但我在使用CefSharp时遇到困难。这里是问题的一个简化,网页需要一个“InjectedObject”才能发挥作用。调用网页而不注入(inject)发生在文档的最顶部,或者在处理文档之前被评估/执行将导致:=====失败时的html示例输出=====存在对象吗?错误=====我需要显示网页的地方:=====成功时的html示例输出=====存在对象吗?正确=====isObjectPresent=typeofInjectedObject=="ob

javascript - 通过 JavaScript 的异步跨域 POST 请求?

我可以只创建一个表单并使用它向任何网站发出POST请求,问题是FORM方法不是异步的,我需要知道页面何时完成加载。我尝试使用带有内部表单的iframe解决这个问题,但没有成功。有什么想法吗?编辑不幸的是,我无法控制响应数据,它从XML、json到简单文本不等。 最佳答案 您可以捕获iframe的onload事件。将您的form定位到iframe并监听onload。但是,您将无法访问iframe的内容,只能访问事件。尝试这样的事情:...脚本block:varloadComplete=0functionloaded(){//avoid

javascript - 如何跨站点处理 javascript 和 css 文件?

最近我对如何在Web应用程序中处理共享的javascript和css文件有了一些想法。在我正在处理的当前Web应用程序中,我得到了大量不同的javascript和css文件,这些文件位于服务器上的一个文件夹中。一些文件被重复使用,而另一些则没有。在生产站点中,加载大量HTTP请求和加载数千字节的不必要的javascript和冗余css是非常愚蠢的。解决方案当然是为每个页面创建一个仅包含必要信息的大捆绑文件,然后将其最小化并压缩(GZIP)发送给客户端。创建一堆javascript文件并手动最小化它们并不需要担心,如果您打算这样做的话,但是由于应用程序不断维护并且事情确实在变化和发展,因

javascript - 等待异步 javascript 函数返回

我正在使用第三方库提供的函数。这个函数接受一个回调函数作为参数,但我想等这个回调函数被调用后再继续。是否有标准/可接受的方法来执行此操作? 最佳答案 我不确定这是否适合您,但您可以通过将代码分成2个函数来实现预期的结果。假设这是你打算做的:基本上这是您的原始功能:functionorigFunc(){codeBeforeThirdPartyFunc();ThirdPartyFunc(oldCallBackFunc);Wait();codeAfterCallBackFunc();}您可以修改代码流,例如:functionnewFunc

javascript - Gmail 如何在丰富的 JavaScript 中处理后退/转发?

Gmail似乎有一些聪明的方法来处理富JS应用程序中的后退/前进按钮。在我的组织中,我们试用了jQuery历史记录插件。该插件基本上每100毫秒运行一个函数,该函数解析URL并测试它是否已更改。历史记录由HTTPanchor跟踪,如果anchor已更改,则插件会调用用户指定的回调,传入新anchor,以便页面可以执行自定义行为以加载新内容。我的组织确定jQuery历史插件不是生产质量。老实说,我不怪他们,因为你真的不想强制用户的浏览器每100毫秒运行一个函数。此外,它使JS代码几乎无法调试,因为在Firebug或类似的JS调试器中单击“BreakOnNext”,将始终捕获jQuery历

Javascript 异步执行 : will a callback interrupt running code?

我只是希望有人能为我澄清这一点。如果我使用node.js在服务器端运行以下代码,不在浏览器中:console.log("a");db.get('select*fromtable1',function(result){console.log("b");});console.log("c");假设数据库调用是异步的我应该得到结果acb但是如果我要将以下行添加到我的代码底部while(1);那么b永远不会执行,对吗? 最佳答案 如果您谈论的是客户端javascript执行,那么您是正确的(直到浏览器决定停止您的无限循环)。客户端javas

javascript - 为您的网站异步加载谷歌翻译小部件的方法?

有没有办法为您的网站异步加载Google翻译小部件?我尝试将它放在我的页面底部,但#google_translate_element容器仍然是空的。functiongoogleTranslateElementInit(){newgoogle.translate.TranslateElement({pageLanguage:'en',includedLanguages:'ar,bg,bn,de,el,eo,es,en,fr,hi,id,it,iw,ja,ko,pl,pt,ru,th,tr,vi,zh-CN',layout:google.translate.TranslateElement

javascript - 处理大型集合时优化 jQuery 选择器/addBack()

我使用jQuery有意从一个可能很大的html表中的元素中删除css类。请参阅下文,了解我这样做的原因。目前我是这样做的:vartableElements=$("#TreeListElemente").find("*").addBack();tableElements.removeClass("dxtldxtl__B2dxtl__B0dxtlSelectionCelldxtlHeaderdxtl__B3dxtlControldx-wrapdxtl__IMdxeHyperlink");表格有时很大并且有很多元素。我想加快页面加载/DOM操作。IE的内置Javascript分析器告诉我,尤