限制访问Javascript中的某些元素

时间:2010-07-03 21:30:06

标签: javascript scope

对于允许开发人员添加自己的Javascript应用程序的项目,我需要将Javascript的范围限制为某个div。例如,每个开发人员都可以访问自己的div。

<div id="md5_of_a_salt_and_app_id">
    <script>
        /* This area should not be able to modify window element 
         * or other divs than parent one 
         */
    </script>
</div>

有可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:5)

有两种众所周知的可能性:

<强> Google Caja

  

Caja是一个   针对“虚拟iframe”的Google项目   基于原则   对象的功能。 Caja需要   JavaScript,HTML和CSS输入和   将其重写为HTML的安全子集   和CSS,加上一个JavaScript   函数没有自由变量。那   意味着这种功能的唯一方式   如果给出 a,则修改对象   主机引用该对象   页。

<强> Adsafe

  

ADsafe 子集阻止脚本   访问任何全局变量或来自   直接访问文档对象   模型或其任何元素。代替,   ADsafe为脚本提供访问权限   由ADSAFE提供的对象   页面的服务器,提供间接访问   到访客代码的DOM元素和   其他页面服务。

请注意,Adsafe不会修改脚本,而Caja会这样做。