当来自不同来源脚本或模块的 JS 代码必须共享相同的 Realm 对象时?

问题描述

ECMAScript defines realm 对象作为一个必须在评估前与 JS 代码关联的对象。它保存对全局对象和全局环境的引用。 Module RecordScript Record 等规范实体引用其 realm,因此它们的代码将使用此 realm 运行。

如果我们有多个模块(Module Record)的依赖关系图,它们是否都必须存储相同的 realm 对象?应该是这样,因为这些模块必须共享一个全局环境,但我无法从规范中得出具体规则。

有以下instruction

一个全局的Environment Record用来表示最外层的作用域 由所有 ECMAScript 脚本元素共享 处理在一个共同的领域。

尽管它将“共同领域”限制为 Script 元素(出于对我而言神秘的原因)。

所以我的最后一个问题是,来自不同来源的 JS 代码必须使用相同的 realm 对象执行(然后所有这些代码共享相同的全局环境)的条件是什么,相反,当 JS 代码是有资格创建自己的 realm? (这个 answer 告诉其中一种情况是 <iframe>)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...