2011-06-22 32 views
6

這可能嗎?如何在沒有xhr的情況下獲得包含的js文件的內容?

<html> 
    <script src="local.js> 
    <script> 
    // get contents of local.js file here without doing an ajax call? 
    </script> 
</html> 

local.js駐留在同一臺服務器上,我知道做一個XHR電話,我可以得到它的內容(如果沒有就文件://)。

但是,由於它已經被瀏覽器同步請求,它的內容是已知的文件,所以我希望有一種方法來訪問它? document.scripts集合對我沒有幫助。

有點像獲取innerHTML(適用於在頁面中定義的腳本)?

+0

你能解釋一下你想達到什麼嗎? – Peeter

回答

1

我不確定如何獲得包含的JavaScript代碼,也不知道爲什麼你需要這個,但如何去其他方向?

不用腳本標記,而是對文件進行XHR調用並評估其內容並將其內容作爲變量保存。

**免責聲明:我看不出爲什麼你需要這個,我也不建議你使用這種方法,但它是一種解決方法。

-1

我懷疑是在腳本的內容已知瀏覽器,他們不知道的文件,因此是無法通過DOM API訪問。所以你將不得不使用XHR方法。幸運的是,如果確保腳本被正確緩存,則XHR請求將從本地緩存中提取腳本內容。

1

你是否假設XHR不會使用緩存版本?它會,可能會有一個請求,但它應該很快(重複使用相同的HTTP連接)並返回304(未修改)。因此,除非您的JavaScript文件的HTTP響應標頭禁止或不指定緩存指令(但通常它們應該),否則將使用緩存版本。

相關問題