调用变量中包含的javascript代码

调用变量中包含的javascript代码,javascript,mootools,Javascript,Mootools,我有下面的锚标签 <a rel="2" onclick="javascript:aimsCCUAQuestionsBanner('TOPIC','VAC_FIOSTV_PROD_AVAIL','CPTU');" name="&amp;lid=choose_topic_fiostvchangeservice" id="opt1tv1" href="javascript:void(0);" class="tv-avail">Billing </a> 但是当我尝试执行

我有下面的锚标签

<a rel="2" onclick="javascript:aimsCCUAQuestionsBanner('TOPIC','VAC_FIOSTV_PROD_AVAIL','CPTU');" name="&amp;lid=choose_topic_fiostvchangeservice" id="opt1tv1" href="javascript:void(0);" class="tv-avail">Billing </a>
但是当我尝试执行下面的函数时

  window[func](); 

函数在FF和IE中都没有被调用。有人能告诉我如何从变量中执行函数吗?

对函数进行评估

eval(func);
举个例子

更新:: 您试图做的是获取锚定标记的属性值,即“javascript:aimscccuaquestionsbanner('TOPIC'、'VAC_FIOSTV_PROD_AVAIL'、'CPTU') 这将是一个字符串,而不是函数。因此,您需要评估浏览器以将字符串作为javascript执行

当你说这有用的时候

那是因为当你执行

它已经执行了这个函数

下一个电话


假设失败是因为它不是函数,除非您的函数返回另一个函数

您可以试试func()?它的抛出错误..“func不是函数”。但当我直接这样尝试时,..var func=aimscccuaquestionsbanner('CHANGE_CATEGORY','VAC_MAIN','');func();。。但是硬编码对我不起作用。我必须动态读取函数值。看看下面的注释中我的更新。很明显,我的代码也在IE9中工作。也可以从onclick中删除“javascript:”。但它仍然应该起作用。我不知道你的代码是如何工作的。请帮助我编写更多代码,以便我调试itI。我可以在许多站点中看到不建议使用eval。使用eval将使您面临XSS(跨站点脚本)漏洞。是的。我希望这就是你想要的。但你的情况没有太大问题。最佳实践是在加载文档时将函数和该函数作为两个超链接的处理程序。
  window[func](); 
var func = aimsCCUAQuestionsBanner('CHANGE_CATEGORY','VAC_MAIN', '');
func();
var func = aimsCCUAQuestionsBanner('CHANGE_CATEGORY','VAC_MAIN', '');
func();