草庐IT

异步通信

全部标签

javascript - 是否可以使用用户脚本在将 'X-Frame-Options' 设置为 'SAMEORIGIN' 的页面(选项卡)之间进行通信?

在用户脚本的上下文中,例如由Tampermonkey执行,是否可以在不同域的两个页面之间进行通信,将“X-Frame-Options”设置为“SAMEORIGIN”?我知道thisway通过使用iFrame和postMessage将消息从一个页面发送到另一个页面,但是在使用您无法控制的网站时,例如在我的情况下StackOverflow和Google(正在开发一个机器人来为我自己自动化一些东西),尝试创建iFrame时,您会收到SAMEORIGIN错误。但我认为,由于我能够在两个页面中插入脚本,因此可能会采取一些变通方法或替代解决方案。一个建议,一个sharedworker看起来很有希望

javascript - 如何在 OpenCart 中延迟或异步 javascript

我有OpenCart应用程序。Javascripts加载在路径'/catalog/controller//settings.php内的settings.php中,代码类似:$this->document->addScript('catalog/view/theme//lib/lazy/jquery.lazy.1.6.min.js');$this->journal2->minifier->addScript('catalog/view/theme//lib/actual/jquery.actual.min.js','header');$this->journal2->minifier->

javascript - JavaScript location.href 调用是异步的吗?

functionfun(){console.log("Hi");window.location.href="http://www.google.com";console.log("Hello,howareyou");alert("Iamgood");fun1();}functionfun1(){console.log("Whatsup??");}在上面的代码行中,之前调用了location.hrefconsole.log("Hello,howareyou")、alert和fun1()。当我调用fun()时,它会执行location.href下面的所有语句,然后重定向到https://w

javascript - 询问不能直接转换为手动实现的异步迭代的异步生成器的示例

异步生成器使用internalqueue处理同步的next、throw和return方法调用。我试图构建一种情况,其中此队列对于迭代本身的成功是强制性的。因此,我正在寻找一些手动实现异步迭代接口(interface)而不自定义重新实现队列的情况。下面是一个例子,但不是很好,因为没有保持一般的时间一致性,但每一步的迭代结果都是正确的:functionaItsFactory(){leti=1;return{asyncnext(){if(i>5)returnPromise.resolve({value:void0,done:true});constres=awaitfetch(`https:

javascript - 我如何交错/合并异步迭代器?

假设我有一些这样的异步可迭代对象:consta={[Symbol.asyncIterator]:asyncfunction*(){yield'a';awaitsleep(1000);yield'b';awaitsleep(2000);yield'c';},};constb={[Symbol.asyncIterator]:asyncfunction*(){awaitsleep(6000);yield'i';yield'j';awaitsleep(2000);yield'k';},};constc={[Symbol.asyncIterator]:asyncfunction*(){yield

javascript - 为什么无限递归异步函数不会导致堆栈溢出?

我在想当异步函数无限递归地调用自身时会发生什么。我的想法是它不会导致堆栈溢出。但我无法准确指出为什么会这样。constfoo=async()=>{consttxt=awaitPromise.resolve("foo");console.log(txt);foo();}foo();上面的代码无限打印“foo”而不会溢出堆栈。我的想法是代码在概念上类似于下面,它不会导致堆栈溢出,因为对foo()的递归调用在回调内部,对的原始调用foo()将在此之前返回。constbar=()=>{console.log("foo");foo();}constfoo=()=>{setImmediate(ba

javascript - 带有发布/订阅的指令之间的 Angularjs 事件通信

我想用Angular事件系统创建一个发布/订阅机制。angular.module("app",[]);angular.module("app").directive("first",function($rootScope){return{template:"FirstDirective",link:function(scope,element,attribute){$rootScope.$broadcast("OnFirstDirectiveCreated",{"message":"I'mfirstdirective"});}}})angular.module("app").direc

javascript - 异步加载 javascript,然后在执行回调之前检查加载的 DOM

问题:异步加载js文件,然后在执行加载文件的回调之前检查是否加载了dom。编辑:我们不使用jQuery;我们使用原型(prototype)。编辑:为代码示例添加了更多注释。我正在尝试异步加载所有js文件,以免它们阻塞页面的其余部分。但是当脚本加载并调用回调时,我需要知道DOM是否已经加载,所以我知道如何构造回调。见下文://loadasynchronously(function(){vare=document.createElement('script');e.type="text/javascript";e.async=true;e.src=srcstr;//alittlemagic

javascript - Redux-Thunk - 异步 Action 创建者 promise 和链接不起作用

我正在尝试发送一个Action。我找到了一些操作的工作示例,但没有我的那么复杂。你能给我一个提示吗?我做错了什么?我正在使用TypeScript,最近删除了所有类型并尽可能简化了我的代码。我正在使用redux-thunk和redux-promise,像这样:import{save}from'redux-localstorage-simple';importthunkMiddlewarefrom'redux-thunk';importpromiseMiddlewarefrom'redux-promise';constmiddlewares=[save(),thunkMiddleware,

javascript - (异步 () => { })();这是什么?

asyncfunctiontest(){(async()=>{vara=awaitthis.test1();varb=awaitthis.test2(a);varc=awaitthis.test3(b);this.doThis(a,b,c);})();}将方法(test1,test2,test3)放在async()=>{})()中是什么意思?我发现它比asyncfunctiontest(){vara=awaitthis.test1();varb=awaitthis.test2(a);varc=awaitthis.test3(b);this.doThis(a,b,c);}使用它有什么缺点