草庐IT

rxjs-dom

全部标签

javascript - 查找与 DOM 窗口关联的选项卡

我正在Firefox扩展中添加一些新功能,TryAgain,它会捕获HTTP错误代码(例如500)并在一段时间后自动重试加载页面。捕获代码非常有效,我正在尝试计算重试总数和storethisinthetabusingSessionStore.不幸的是,现在我正在获取对DOM窗口的引用(通过interfaceRequestor.getInterface(Components.interfaces.nsIDOMWindow)),但我需要对选项卡的引用,它是nsIDOMNode根据nsISessionStoredocsonsetTabValue().到目前为止我有什么(我已经从这个例子中删除

javascript - 如何将 EventListener 添加到 future 的 DOM 元素?

文件partial.html如下所示:HiIamfromapartial!Partial.html使用XMLHttpRequest动态包含在页面上:varoReq=newXMLHttpRequest();oReq.open('get','partial.html',true);oReq.send();oReq.onload=function(){document.querySelector('#pageArea').innerHTML=this.response;};我如何添加一个事件监听器以应用于future现有的#test在它的内容被加载并插入到#pageArea后没有这样做?(请

javascript - 为什么 Rxjs publishReplay(1).refCount() 不重播?

为什么publishReplay(1).refCount()不为迟到的订阅者重播最后一个值?a=newRx.Subject();b=a.publishReplay(1).refCount();a.subscribe(function(x){console.log('timelysubscriber:',x)});a.next(1);b.subscribe(function(x){console.log('latesubscriber:',x)});预期输出:timelysubscribe:1latesubscriber:1实际输出timelysubscriber:1

javascript - RxJs 将流拆分为多个流

如何根据分组方法将一个永无止境的流拆分为多个结束流?--a--a-a-a-a-b---b-b--b-c-c---c-c-d-d-d-e...>进入这些观察--a--a-a-a-a-|b---b-b--b-|c-c---c-c-|d-d-d-|e...>如你所见,a在开头,我收到b后,就不再收到a了,所以应该结束。这就是为什么普通的groupBy不好。 最佳答案 您可以使用window和share源Observable。bufferCount(2,1)还有一个小技巧:conststr='a-a-a-a-a-b-b-b-b-c-c-c-

javascript - RxJS forkJoin 会按顺序返回结果吗?

RxJS提供了一个名为forkJoin的函数。它允许您输入多个Observables并等待它们全部完成。我想知道生成的数组是否会按照与输入可观察对象的顺序相同的顺序包含结果。如果不会,哪一个运算符(operator)会保持相同的顺序?我一直在调查docs并且无法找到答案。 最佳答案 它将以相同的顺序返回结果。如theseofficialdocs中所述.值得一提的是,它只会发出流的最新值:varsource=Rx.Observable.forkJoin(Rx.Observable.of(1,2,3),Rx.Observable.of(

javascript - 更改属性时延迟渲染 dom 元素

我目前在一次更新大量dom元素的属性时遇到性能问题。似乎每次我更改属性时,dom元素都会重新呈现。无论如何我可以延迟元素的渲染,直到我的所有更新都发生了吗?它在FF3和3.5中似乎比IE7和8慢很多,这与我的预期相反。下面是我正在做的一个例子。vart;for(vari=0;i问题是“tiles”中的项目数最多可以有100个dom元素。这才是性能问题真正体现出来的地方。 最佳答案 同意@Crimson但我认为最好隐藏您要更新的所有元素的父级,如果它们没有独占父级,请尝试创建一个。这样只有两个reflows会发生,一个发生在您隐藏ti

javascript - 自执行功能是否准备好在 dom 上运行?

在我听说自执行函数之前,我总是这样做:$(document).ready(function(){doSomething();});functiondoSomething(){//blah}自执行函数会产生同样的效果吗?它会在dom上运行吗?(functiondoSomething($){//blah})(jQuery); 最佳答案 没有。当Javascript引擎找到它时,一个自执行函数就会运行。但是,如果您在结束前将所有代码放在文档末尾标记(即highlyrecommended),那么您不必等待DOM准备就绪,因为您已经自动完成了

javascript - 从内存中移除 HTML 元素(DOM 节点)

根据mdndocumentationremoveChild方法从DOM中删除一个节点,但它仍然驻留在内存中。我的问题是我也想从内存中删除它。我已经尝试使用delete运算符,但对象仍然存在...myCanvas.parentElement.removeChild(myCanvas);//myCanvasactuallyremovedfromDOMdeletemyCanvas;//false.doesnothingalert(myCanvas);//showsHTMLCanvasElementinsteadofundefined 最佳答案

javascript - 如何检查 Backbone.View 当前是否在 DOM 中呈现?

我想检查Backbone.View当前是否在DOM中呈现,如果没有,我不必重新呈现它。我能以某种方式检查吗?问候 最佳答案 好吧,理论上您可以查询DOM来找出答案,但这比仅仅设置一个实例变量并在渲染之前查询它要慢得多。另一方面,渲染方法(假设一切设置正确)只应在模型更改时调用,因此您的问题表明您可能没有按照应有的使用方式(MVC样式)使用View.但假设您需要这样做,设置一个this.rendered=true并在您的渲染方法中再次渲染之前检查它可能是最快和最简单的。 关于javascr

javascript - 将 Angular.js 应用于 Chrome 扩展内容脚本中的新 DOM 元素

好的,我已经研究了一段时间了。在红色框中,我想要一些Angular功能(ng-repeats、数据绑定(bind)等...)双击任何网页上的文本时会出现此红色框。但是,我似乎无法找到如何实际连接/连接到红色弹出窗口中的文本框示例的Angular。在chrome的徽章弹出窗口以及选项页面等中使用angular似乎相当微不足道......但我似乎无法在这种情况下让它工作。inject.js(作为内容脚本包含在list中,如下)vardisplayPopup=function(event){varmydiv=document.createElement('div');var$div=$('#