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 這個網頁查看。