この任意の js コードを実行するための唯一の要件は、特定のグローバル変数/関数 (例: setInterval
) が公開されていないことです。
私の現在の戦略では、js コードを解析し、var
すべてのグローバル参照に対して (囲んでいるクロージャの先頭で) 宣言を行います。
これを解決する他の明白な方法があるかどうか疑問に思っています。
また、明確にするために、この任意のコードは、のようなものでは実行されていませんeval
。むしろ、クロージャ内にラップされ、ベース コードに追加されます。