2009-11-09 2 views
2

Мне нужно изолировать написанные пользователем фрагменты кода друг от друга в javascript. На данный момент самое смешное, о чем я могу думать, это замыкания:Как изолировать незащищенный код JavaScript

function executor() { 
     window.alert('Hello!'); 
     size0 = document.getElementById("load").innerHTML; 
     window.alert('zero:' + size0); 
     (function(document){ 
       // document = {"innerHTML":"empty"}; 
       window.alert('Hello again!'); 
       size1 = document.getElementById("load").innerHTML; 
       window.alert('first:' + size1); 
       (function(window){ 
         size2 = document.getElementById("load").innerHTML; 
         window.alert('Hello now!'); 
         window.alert('second:' + size2); 
         // window.alert('second:' +document.getElementById('load').size()); 
       })("empty"); 
     })("empty"); 
} 

Есть ли лучший и безопасный способ сделать это? Могу ли я закрыть prototype для различных вещей, таких как массивы?

ответ

4

Насколько я знаю, самый простой и лучший способ использования javascript в песочнице через iframes. Вот blog post, который может помочь.

3

Вы можете посмотреть Caja у Google. Он предназначен для безопасного и безопасного запуска сценариев от третьих лиц.

Смежные вопросы