JavaScript原型是否在父/ iframe的上下文之间起作用?

时间:2010-12-18 08:44:09

标签: javascript prototype boundary

我正在构建一个基于Web的代码编辑器,并遇到了处理焦点问题。 很明显,我需要为每个编辑器实例转移到iframe。 但是,我不确定是否可以使用基于JavaScript的原型 在这种情况下继承。

基本上,我需要包含脚本来包含原型定义和每个 服务于特定iframe的对象使用此单一原型。

从这一点来说,我有两个想法:

  1. 服务iframe的对象应托管在顶部窗口中。
  2. 服务iframe的对象应托管在子iframe的窗口中。
  3. 处理这种情况的最佳方法是什么?我不知道该怎么做 正确处理JavaScript上下文边界...

1 个答案:

答案 0 :(得分:1)

可以做到。这需要一些工作,您可能需要对源进行一些更改。

首先,您必须确保在任何代码中都不使用window.document。您正在处理多个文档,但它们无法共享节点。您可以使用[node] .ownerDocument,这样您就可以进行跨框架安全节点交互。我之前没有使用过CodePress,但如果它不能以这种方式跨框架工作,我不会感到惊讶。

此外,IE和对象/功能跨框架存在一些问题。我记得,有时函数会转换为对象,然后无法实际调用,并检测到涉及使用toString并将其分隔为“[object Object]”