Firefox扩展中javascript的字符串(不带eval()、setTimeout或新函数)

Firefox扩展中javascript的字符串(不带eval()、setTimeout或新函数),javascript,firefox-addon,Javascript,Firefox Addon,根据用户打开的页面,我正在从远程服务器传递字符串,例如“getElementById('div1')”或“getElementsByName('div2')”。如何在不使用上述任何函数的情况下在页面中以javascript的形式运行这些函数 您可以使用document.write。我不知道您是否可以将其用于javascript,但我建议服务器应将代码和元素名传递给客户端,然后基于此执行特定方法。您可以使用document.write。我不知道您是否可以将其用于javascript,但我建议服务器

根据用户打开的页面,我正在从远程服务器传递字符串,例如
“getElementById('div1')”
“getElementsByName('div2')”
。如何在不使用上述任何函数的情况下在页面中以javascript的形式运行这些函数

您可以使用document.write。我不知道您是否可以将其用于javascript,但我建议服务器应将代码和元素名传递给客户端,然后基于此执行特定方法。

您可以使用document.write。我不知道您是否可以将其用于javascript,但我建议服务器将代码和元素名传递给客户端,然后在此基础上执行特定的方法。

这太棒了!你还知道Firefox是否允许这样做吗?不确定是否有安全策略可以阻止插件这样做,但值得一试。如果不行,请告诉我。我将更新我的答案,以便至少其他任何偶然发现此页面的人都知道。我试图提交一个新版本,自动验证返回这行内容为弃用的
window.content.document.createElement('script')如果没有
窗口,则无法运行。内容
。还有其他可能的建议吗?关于Firefox,这是允许的。。。如果您愿意,您甚至可以在脚本中添加一个“src”而不是innerHTML(两者都可以!),关于验证,我认为browser.contentDocument是首选(尽管我没有证据支持),这太棒了!你还知道Firefox是否允许这样做吗?不确定是否有安全策略可以阻止插件这样做,但值得一试。如果不行,请告诉我。我将更新我的答案,以便至少其他任何偶然发现此页面的人都知道。我试图提交一个新版本,自动验证返回这行内容为弃用的
window.content.document.createElement('script')如果没有
窗口,则无法运行。内容
。还有其他可能的建议吗?关于Firefox,这是允许的。。。如果您愿意,您甚至可以在脚本中添加一个“src”而不是innerHTML(两者都可以!),关于验证,我认为browser.contentDocument是首选(尽管我没有证据支持它)
var head = document.getElementsByTagName('head')[0],
    script = document.createElement('script');
script.innerHTML = 'alert("hello");';
head.appendChild(script);