您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

FCKeditorAPI未定义,调用FCKeditorAPI时出错

JavaScript的加载,调用次序问题,导致调用未加载的函数发生错误。

这是一个低级错误。所谓低级错误,指那些非技术难题,本来可以避免,却由于疏忽大意而造成的错误。比如说写错了函数名,又比如说本文写的这个错误。

出错原因:在函数定义之前调用函数。

JavaScript的执行是线性的,根据文档加载的先后顺序依次执行。文档加载完毕之后,可以随意调用文档中有定义的任一函数;文档加载完毕之前,只能调用前面已经加载的函数。

像下面这个例子是会出错的!

throwError('hello, error!');

function throwError(s){alert(s);}

因为下面的函数throwError还没有加载到,所以不能提前调用。解决的方法很简单,就是把函数放到调用的前面:

“FCKeditorAPI未定义”这个错误也是同样的道理。使用时,比如说在asp.net中,使用ClientScript.RegisterScriptBlock()函数对其进行调用,结果客户端加载页面时,会先加载调用的JavaScript代码。而定义FCKeditorAPI的代码却放在后面加载。这样错误就产生了。

解决方法有两种,一是确保调用在函数定义之后;二是在调用前判断页面是否加载完毕,加载完毕了再调用。如jQuery的方式:

jQuery(function($){alert(load ready!);}

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

内容/Content