Firefox имеет Песочницу и evalInSandbox (). Chrome поиграл в песочнице выполнение в их сценариях содержания (они называют изолированным выполнением). Я ищу то же самое в расширении браузера IE.
Я могу загрузить файл JavaScript, затем назвать evalScript (), но код выполняется в той же среде как JavaScript, который существует на странице. Мне нужен способ выполнить мою библиотеку (который включает и основан на jQuery) в поигравшей в песочнице/изолированной среде, но все еще позвольте этому изменять DOM, как будто это работало на странице.
Jint выглядит многообещающим, но не может в настоящее время оценивать jQuery. (Они могут проанализировать его.)
Как я могу сделать это?
Возможно, вам стоит взглянуть на веб-песочницу Microsoft в Live Labs: http://websandbox.livelabs.com/
Хотя он более полно и связан с гибридными приложениями и т.п., он может указать вам правильное направление.
Вы можете немного подробнее рассказать о своих целях?
Я не думаю, что вы четко определили, чего вы пытаетесь достичь. Если ваш код имеет возможность модифицировать DOM страницы, то фактически выполняется в контексте страницы. Он может создавать новые блоки сценария для выполнения любых небезопасных или ненадежных действий, которые он мог бы выполнить, если бы он работал в той же самой среде выполнения.
IE не предлагает возможности делать то, что вы просите, и я не уверен, что возможности Firefox и Chrome работают так, как вы ожидаете.