dom事件——在JavaScript中有哪些方法可以重新获得对执行线程的控制?
dom events - What are all the ways to regain control of the execution thread in JavaScript
我试图枚举从浏览器到JavaScript代码的入口点。这包括初始脚本执行(简单的例子),以及在放弃主执行线程后重新获得控制的所有方法。
- 初始脚本执行
- 事件监听器,当未以编程方式触发时(
Node.addEventListener
,DOMWindow.addEventListener
,XMLHttpRequest.addEventListener
,所有object.oneventname
属性) -
setTimeout
-
setInterval
还有其他我应该考虑的吗?
(对于好奇的人:这样做的目的是将所有入口点包装在try...catch
块中,以便在UIWebView
中捕获和记录iOS上的错误。但它应该是有用的一般信息。)
Web worker是另一种可以发起回调的机制。
一些浏览器在创建函数的框架的事件循环中执行跨框架函数调用。其他人则使用单一事件循环来处理所有帧,这是由于同源策略的原因。我不太了解iOS。
。
window.parent.functionDefinedInParent();
相关文章:
- javascript处理一个对象数组以获得一个新的对象数组
- 如果数组仍在执行,async.forEach()将运行我添加到数组中的新元素
- 如何打开一个新窗口或选项卡,并将其提供给javascript执行
- JavaScript-如何从谷歌自动执行API获得城市名称建议
- 如何在Ajax加载新内容时停止JavaScript执行
- 在OrientDB javascript函数中执行命令后获得rid
- 当我添加一个新数字时,如何获得一些数字的即时平均值
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 如何在新选项卡中打开新网页后获取书签中的 JavaScript 代码以执行
- 执行打开新窗口并执行Javascript
- 超链接单击以加载新页面并执行JavaScript
- 如何在遍历表和添加新元素时获得tr的索引
- 使用Node中的Q promise库对值数组顺序调用/执行相同的函数;并返回带有结果的新数组/集合
- 我怎样才能获得watir's单击执行javascript href
- 浏览器在“打开”之后继续执行Javascript;PageUnload”&新的“;PageLoad”;
- jQuery没有为具有新id的新元素执行代码
- 为什么我的MutationObserver回调没有为一些新标签执行
- 用新进程执行函数,就像在java中使用新线程一样
- 打开window self并为新窗口执行javascript
- clearTimeout是否可以在超时到期但尚未获得执行机会后清除超时