2

在我当前的项目中,主网页在另一个窗口上打开了一个新页面(子页面)。我正在使用 chrome,这两个窗口应该在不同的线程上运行,对吗?

在孩子中,它在主页中保存一个对象。当子窗口中的javascript调用主页面对象的函数时,主页面被阻塞。看起来在调用主页函数时,它发生在主页线程上。javascript是否在单个线程上运行?有人可以帮助理解。

谢谢!

4

1 回答 1

3

根据这个解释,默认情况下,每个选项卡都运行一个单独的进程

http://blog.marcchung.com/2008/09/05/chromes-process-model-explained.html

...除非两个选项卡中的两个页面相互调用(例如弹出窗口)。

在这种情况下,它们共享一个 Renderer 进程(该模型称为“Process-as-site-instance”)

如果一个网页弹出另一个网页(通过 JavaScript),那么这些站点被认为是连接的,并由相同的过程管理。Chrome 使用单个 Renderer 进程来处理浏览上下文。

于 2013-06-13T20:40:13.843 回答