我的頁面上有一個外部javascript,例如例如:通過UpdatePanel在異步回發後重新加載外部javascript
<script src="http://foo.com/script.js" type="text/javascript"></script>
和某個UpdatePanel。該腳本編寫了一些內容,並在js文件中的匿名JavaScript函數中執行此操作。即,有這樣的腳本:
(function(){document.write('content');})();
每當在UpdatePanel通過異步回更新,一切的劇本做了(或我的網頁上任何JavaScript,爲此事)由百廢待興。 對於普通的JavaScript,我只想用:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myFunction)
重做一切,但因爲腳本源文件中的函數是匿名的,並呼籲定義,我SOL!有任何想法嗎?
注意:外部js源來自另一個域,並且其內容超出了我的控制範圍。
不要緊,你的函數是匿名的。你可以命名它並在全球範圍內調用它。真正的問題將是'document.write'。在頁面加載後調用它意味着整個靜態頁面內容將被擦除。 – 2009-12-01 21:08:59
其實,我甚至不確定外部的javascript是否執行document.write。它可能只是創建一個新的文檔節點並將其附加到頁面。該腳本是一個混亂的大混亂,實際上有不止一個。 問題是,我無法控制這些腳本的內容。他們有匿名稱爲功能,我只需要處理它。 – 2009-12-02 12:42:49
我剛剛證實它確實做了一個document.write,剛剛遇到'擦'Crescent預言。聖潔的廢話猴子球。 – 2009-12-03 13:01:03