2010-04-26 38 views
6

我正在寫一款遊戲,並且我有一個控制檯供開發人員在遊戲中與JavaScript方法進行交互。我雖然有一個問題;我無法弄清楚如何將JavaScript錯誤拖放到控制檯。無論如何要寫錯誤的div或HTML元素?是否可以將JavaScript錯誤轉儲到HTML中的div?

+2

'我可以找出how' ......你的意思是不能? – SLaks 2010-04-26 21:35:33

+0

我認爲他真的意味着'可以',他說他已經知道如何將消息放到控制檯上 – 2010-04-26 21:45:17

+0

我的意思是不能對不起對方 – 2010-04-26 21:46:32

回答

6

這聽起來像你已經有能力執行JS工作,只需要捕獲錯誤輸出?如果是這樣,你應該能夠通過在try ... catch塊包裝你的代碼執行這樣做:如果沒有發生錯誤

var result; 

try { 
    result = eval($("#console-input").val()); 
} catch (ex) { 
    if (ex !== null && typeof ex !== "undefined") { 
     if (ex.message) ex = ex.message; 
    } else { 
     ex = "An unknown error occurred."; 
    } 

    result = ex; 
} 

$("#console-output").append($("<p/>").text(result)); 
$("#console-input").val(""); 

這將增加代碼的結果輸出股利。如果出現錯誤,則它會輸出錯誤消息(如果有)或「發生未知錯誤」。

+0

+1比我的答案更詳細! – 2010-04-26 22:03:36

+0

真棒非常感謝你本 – 2010-04-26 22:04:59

0

使用throw命令輸出自定義JavaScript錯誤。如果你想將這些錯誤輸入到div中,那麼使用innerHTML方法而不是throw並立即從執行函數中返回。

0
konsole = document.createElement('ul'); 
konsole.id = 'console'; 
document.getElementsByTagName('body')[0].appendChild(konsole); 

    function log(konsole, message, level) 
    { 
     if (undefined === level) level = 0; 
     messageElem = document.createElement('li'); 
     messageElem.className = 'level-' + level; 
     messageElem.innerHTML = message; 
     konsole.appendChild(messageElem); 
    }; 


document.getElementById('console') 

log(document.getElementById('console'), ':)'); 

然後,它只是關於三網融合

相關問題