Index.jsp:
Contents.jsp:
注意到了 /* ... */中的内容了吗? 在Index.jsp页面,在使用 new Ajax.Updater 函数时,加上了 evalScripts:true 属性,这样才会执行Content.jsp页面中的JavaScript代码。"但是值得提醒的是,像这个选项名 evalScripts 暗示的,这些脚本会被执行,但是它们不会加入到 page 脚本中",所以Content.jsp 中的函数写成了 sayHi = function(){...}这种形式(创建一个函数),而不是 function sayHi(){...} (声明一个函数) 也不能加上var 关键字 var sayHi = function(){...}(当前脚本的一个局部变量),具体的解释可参考 prototype.js开发者手册。 我最想说的是下面这个问题,在Contents.jsp 页面中我们是导入了另外一个js(import.js),并在sayHi函数中调用了import.js里的方法importFun(),运行过程中会发现被导入的import.js里的函数不能被执行,可是应该怎么办呢?? 呵呵,还好已经有人(我们公司以前的技术支持-foxty,现在在北京,我一直向他学习的)解决了,解决办法是在prototype.js的 evalScripts: function()加了一些内容,原来属性是这样的:evalScripts: function() {return this.extractScripts().map(eval);},增加内容后的代码片断如下所示:
中 Ajax.Updater 类引发的问题" alt="使用prototype.js 中 Ajax.Updater 类引发的问题" src="http://static12.photo.sina.com.cn/orignal/4b62e4a9bb5e011adcfcb" border=0 real_src="http://static12.photo.sina.com.cn/orignal/4b62e4a9bb5e011adcfcb">
相关内容可以访问 http://foxty.javaeye.com/blog/24497 这个网页查看。