2012-08-26 24 views
6

我有一個HTML網頁,其中到我導入js文件裏面如下導入JavaScript文件轉換成HTML文件try catch塊

<script src="file.js" type="text/javascript" charset="utf-8"></script> 

但如果該文件無法運行其腳本,整個頁面明顯變卡住

我可以將該文件導入try catch塊?

謝謝

+0

顯示你的代碼。 – darma

+0

修正了你的格式 - 你可能想檢查一下我固定的是你實際上在做什麼。 – Eric

+0

它在哪裏輸入?在頭上?嘗試將它移動到結束標籤前面。 – DanMan

回答

-1

您可以使用AJAX。這假定你有jQuery,但你可以很容易地避免使用它(here你可以找到許多教程之一)。這裏有一個例子:

$.get("http://yoursite.com/file.js", function(data) { 
    try { 
     eval(data); //Run the JavaScript, which is equivalent to adding it 
    } 
    catch (err) { 
     //handle errors 
    } 
}); 

希望有任何幫助!

+0

hey 感謝您的幫助......但utf8字符集呢? 如何配置獲取呼叫以使用它? –

+0

我試過了,但是我得到了 「XMLHttpRequest無法加載http:」myfile「.js。原因http://192.168.1.224是Access-Control-Allow-Origin不允許的。 –

+0

@ user1432779這是因爲您無法與其他服務器進行AJAX通信。 – Chris

4

你可以聽錯誤(見this

// make a script 
var s = document.createElement('script'); 
// set it up 
s.setAttribute('src',"file.js"); 
s.setAttribute('type',"text/javascript"); 
s.setAttribute('charset',"utf-8"); 
s.addEventListener('error', errorfunction, false); 
// add to DOM 
document.head.appendChild(s); 

然後在errorfunction,找出發生了什麼&嘗試修復它,你會在catch

+0

謝謝...但事情是,HTML頁面首先導入上述文件,然後在HTML上運行腳本不管。現在,有時頁面在本地網絡之外沒有任何互聯網連接的情況下運行,並且試圖調用的文件位於遠程服務器上,並且出現阻止頁面上其他腳本運行的錯誤.... –

+0

如果您希望沒有文件訪問權限,請將其緩存或保存在本地 –

+0

嘗試過......將文件保存在本地......但這是它的一個問題,它使用其他文件的調用,其中包含相對路徑服務器......下載它們都可以是一個長時間的遊戲...... –