Есть ли способ получить конкретные строки кода для какой-то функции обратного вызова?

#javascript

#javascript

Вопрос:

Я нахожусь в середине проекта, который в основном позволяет другим пользователям устанавливать «дополнения» для моего скрипта. В общем, это будет что-то вроде следующего:

 function widget () {
   this.addControl = function (type,control) {
     control.call({ Object With Some Un-thoughtout Vars });
   }
}
  

Очень простой пример, в котором практически все удалено

Пользователи, которые будут использовать это, полностью доверяют мне. Теперь я хочу убедиться, что любые скрипты, созданные другими людьми, будут запускаться с ограниченными разрешениями. Таким образом, они не могут перехватывать сеансы или перенаправлять пользователя или вертикально красть их пароли / нажатия клавиш.

Я просмотрел несколько результатов в Google, и они в основном предполагают, что вам действительно не следует этого делать, поскольку от этого больше проблем, чем пользы. Но, на мой взгляд, я бы предпочел ограничить это, чем кто-то устанавливает виджет, который использует их информацию (что они, скорее всего, и сделают). Итак, кто-нибудь знает способ разбиения функции обратного вызова на отдельные строки кода, чтобы я мог проверить, все ли в порядке, прежде чем разрешить ее запуск?

Или мне придется использовать какой-нибудь ужасный строковый eval метод?

Комментарии:

1. Похоже, вы ищете такие вещи, как Caja