【发布时间】:2011-01-12 11:27:33
【问题描述】:
是否可以限制 javascript 库操作 dom?
我试图创建一个系统,该系统具有一个带有 api 的主系统,它将能够操纵 dom,然后我想提供创建第三方脚本的能力,但它们仅限于 api 函数。
【问题讨论】:
-
+1 欢迎来到 Stack Overflow,@theunilife!
标签: javascript ajax dom scripting
是否可以限制 javascript 库操作 dom?
我试图创建一个系统,该系统具有一个带有 api 的主系统,它将能够操纵 dom,然后我想提供创建第三方脚本的能力,但它们仅限于 api 函数。
【问题讨论】:
标签: javascript ajax dom scripting
我建议你看看Google Caja 项目。
Caja 允许网站使用“对象能力安全模型”安全地嵌入小部件和来自第三方的任何 Web 内容,以实现广泛的灵活安全策略。
【讨论】:
您可以覆盖 JavaScript 的一些核心功能,这会将所有 DOM 操作调用重定向到您的框架。例如,您可以覆盖 document.getElementById,或 setAttribute 和 appendChild。您甚至可以将它们覆盖为空函数。
但是,这样做确实不是一个好习惯。
【讨论】:
我不相信。你可以让它变得困难(通过晦涩难懂的废话来保证安全),但并非不可能。
【讨论】:
没有。全局上下文是window 对象,window 的属性是document。 DOM 方法可从document 获得。在任何地方,任何人都可以使用window。
【讨论】: