2011-03-27 16 views
2

我正在創建一個利用YouTube API的網頁。我希望能夠在用戶每次採取某些操作並使用調用結果更新頁內元素時觸發對YouTube API的AJAX樣式調用。 YouTube的文檔建議使用Javascript注入來解決跨網域權限問題,這些問題可能與我的網頁對外部域(gdata.youtube.com)進行AJAX調用有關。例如:重複使用JavaScript進行YouTube API調用?

<script 
    type="text/javascript" 
    src="http://gdata.youtube.com/feeds/users/GoogleDevelopers/uploads?alt=json-in-script&format=5&callback=showMyVideos"> 
</script> 

這個片段置於HTML體內進行從與「回調」參數的「Google代碼」信道造成showMyVideos()的調用的視頻饋送請求調用返回時。 showMyVideos(),這裏沒有顯示和任意命名,使用DOM調用來更新一個帶有調用結果的命名DIV。

我想做同樣的操作,除了動態而不是像上面顯示的靜態。舉例來說,我已經看到了這樣的代碼:

var s = document.createElement('script'); 
    s.type = "text/javascript"; 
    s.src = "http://gdata.youtube.com/feeds/users/GoogleDevelopers/uploads?alt=json-in-script&format=5&callback=showMyVideos" 
    var head = document.getElementsByTagName('head')[0]; 
    head.appendChild(s); 

我擔心的是,如果我用這個方法,因爲我將作出許多AJAX調用,我會在網頁中積累越來越多的動態生成的JavaScript的DOM元素DOM樹,我擔心可能對瀏覽器或其他任何東西產生什麼後果。

有沒有辦法做到這種風格的Javascript注入,而不會混淆HEAD元素大量的Javascript元素?簡要的代碼示例將不勝感激。

- roschler

回答

1

好了,沒有那麼難,你已經得到了你通過刪除腳本元素清理數據之後。