草庐IT

线程通信

全部标签

javascript - 合作页面之间的跨域、跨表通信

假设我有两个选项卡,每个选项卡都有一个加载到不同域的网页。两个选项卡中的页面要进行通信。我能看到的最简单的解决方案是thisone(我在搜索重复项时发现的一个密切相关的问题的答案),其中一个或两个页面加载一个中间页面iFrame,它在postMessage()之间代理和localStorage事件。但是,这确实需要将此页面托管在某个地方,并且需要客户提出额外请求。是否有任何技术不需要专门的“代理页面”由其中一个域提供服务?(也就是说,这可以在没有支持服务器的情况下由JavaScript库实现吗?) 最佳答案 这个javascript

javascript - 使用 IFRAME 是否可以实现 javascript 多线程

我目前正在考虑使用IFRAME来实现一个非常简单的多线程引擎。然而,我的初步结果表明,在线程中运行比在单个线程中运行要慢。我的测试是:单线程varstart=newDate().getTime();for(vari=0;i多线程varstart=newDate().getTime();//Inthread1for(vari=0;i可以看出,我只是在IFRAME之间分配工作负载(请注意,上面的代码只是为了更好地描述我正在做的事情,它不是工作代码)。所以我在想即使使用FRAMEsFireFox仍然只有一个JS引擎?这个假设是否正确?(使我的研究变得愚蠢),其他浏览器是否不同?快速谷歌一下,

javascript - 从多个 javascript 线程访问 IndexedDB

概述:我试图通过从网页和网络worker访问IndexedDB来避免竞争条件。设置:在用户使用网站时将项目保存到本地IndexedDB的网页。每当用户将数据保存到本地数据库时,记录都会被标记为“未发送”。Web-worker后台线程从IndexedDB中提取数据,将其发送到服务器,一旦服务器接收到数据,就将IndexedDB中的数据标记为“已发送”。问题:由于对IndexedDB的访问是异步的,我不能保证用户不会在web-worker将记录发送到服务器的同时更新记录。时间线如下图:Web-worker从数据库中获取数据并发送给服务器在传输过程中,用户更新将其保存到数据库中的数据。网络w

Delphi TWebBrowser 中的 Javascript,关闭线程

我正尝试在Delphi中构建一个允许用户使用Googlemap的系统。一切正常,但我注意到每次创建新的TWebBrowser对象并加载处理Googlemap的javascript时,都会生成许多新线程。我的问题是,即使网络浏览器被销毁(并且肯定被销毁),创建的线程仍然存在。我正在设计这个程序,使其运行时间长,并且谷歌地图的打开和关闭发生多次,因此,一段时间后,生成了如此多的线程并且没有终止,以至于程序速度急剧下降。有什么方法可以自己销毁这些线程,还是我做错了什么导致线程持续存在?我的程序基于以下代码:constHTMLStr:AnsiString=''+''+''+''+''+''+'

javascript - AngularJS 父指令与子指令通信

考虑两个具有独立作用域的嵌套指令:如果我想要dctv2与dctv1交谈我有可能的选择:我可能需要dctv1的Controller在dctv2的定义中使用require:'^dctv1'我可以使用包装器调用父作用域上的表达式和scope:{callParent:'&'}我也可以使用$scope.$emit在dctv2但随后所有父作用域都会听到该消息。现在我要dctv1与dctv2交谈.我能做到这一点的唯一方法是使用$scope.$broadcast,但是所有的child都会听到。在这里交谈是指调用函数或类似函数。不想设置watch阻塞摘要循环。我怎样才能制作dctv1通知dctv2以最好

javascript - 通过用户脚本读取 websocket 通信

greasemonkey脚本/Chrome的用户脚本如何拦截正在运行的websocket通信?我的目标是获得浏览器内游戏的额外统计数据 最佳答案 您可以使用Firefox,然后添加Firebugmodule然后添加并使用websocket-monitormodule监控websocket。如果你想从javascript中hookwebsocket你也可以使用wshook. 关于javascript-通过用户脚本读取websocket通信,我们在StackOverflow上找到一个类似的问

Javascript/网络浏览器线程模型

如果我正在运行javascript代码,例如在计时器上执行某些操作,并且此代码嵌入在Web浏览器的选项卡1和选项卡2中的网页中,那么客户端代码可以同时运行吗?还是javascript客户端代码总是只在单个浏览器线程中运行?或者,如果有一个包含父框架和子框架的框架集,那么在这种情况下javascript代码可以并发运行吗?是否有标准指定模型或是否依赖于浏览器?我的主要目标环境是IE9,所以很想知道那里发生了什么。编辑我不是在寻找线程支持或如何在javascript中进行线程处理。我个人认为没有必要。这也让生活变得更加复杂。我只想知道我是否需要担心它,如果需要,在哪些浏览器上。

javascript - 使用 Firefox 插件的跨域通信

Firefox插件allowyoutodocross-domaincommunication.有什么方法可以公开此功能,以便我可以从任何页面启动跨域ajax(假设我已经安装了此插件)?编辑:我知道什么是CORS,只有当你控制了服务器时,CORS才有意义,但我不知道。这里的重点是我控制浏览器,我承担风险所以我问是否无论如何将跨域功能从插件阶段导出到用户空间。 最佳答案 正如您所说,同源策略仅用于保护客户端(您自己),通常免受XSS攻击。我不确定你想用插件实现什么,但你当然可以trydoingthefollowingonyourownm

javascript - 网站之间的通信(使用 Javascript 或?)

这是我的问题-我想在两个网站之间进行通信,我正在寻找一个干净的解决方案。当前的解决方案使用Javascript,但由于(可以理解的)跨站点脚本限制,存在令人讨厌的解决方法。此刻,网站A使用jQuery打开一个包含网站B的模态窗口插件名为jqModal.网站B做一些工作并将一些结果返回给网站A。要返回该信息,我们必须绕过跨站点脚本限制-网站B创建一个iframe,该iframe引用网站A上的页面并包含*片段标识符”,其中包含要返回的信息。iframe由网站A轮询以检测返回的信息。它是一个commontechnique,但它很老套。有变体,例如CrossSite我也许可以使用从网站B到网站

javascript - 使用生成器 + promise 在 Firefox SDK 附加组件中/与 Firefox SDK 附加组件进行 "simulated synchronous"通信

TL;DR:有什么方法可以重写这个基于回调的JavaScript代码以改用promises和生成器吗?背景我有一个使用FirefoxAdd-onSDK编写的Firefox扩展.与SDK一样,代码分为附加脚本和contentscript。.这两个脚本具有不同类型的权限:附加脚本可以做一些奇特的事情,例如,通过js-ctypes调用native代码。界面,而内容脚本可以与网页交互。然而,附加脚本和内容脚本只能通过异步message-passinginterface来彼此交互。.我希望能够从普通的非特权网页上的用户脚本调用扩展代码。这可以使用称为exportFunction的机制来完成这样一