我正在尋找一種使控制臺可見并能夠接受來自 node.js 電子應用程式客戶端的輸入的方法。需要明確的是,這是我開發的一個應用程式,供我個人使用,用于幫助從本地 excel 檔案構建圖表和報告,因此安全性不是問題。
我將我的資料保存為 JS 物件,用于提供我的圖表和表格。然而,每隔一段時間,我需要從一個物件訪問資料,因為它的稀有性而不值得創建客戶端行程。有沒有辦法讓控制臺在我的應用程式的客戶端可見,這樣我就可以從控制臺中的全域物件快速查找資料?
謝謝,西和弦
uj5u.com熱心網友回復:
您可以覆寫console.log的默認行為以改為列印到頁面:
console.log = function(text){
document.body.insertAdjacentHTML('beforeend', `<div class='log'><div class='text'>${text}</div><div class='time'>${new Date().toLocaleString()}</div></div>`)
}
console.log('Hello World!')
console.log('Log #2')
.log{display:flex;justify-content:space-between;padding:15px 20px;border-bottom:1px solid grey;margin-bottom:5px}.log .text{font-weight:bold}
為了讓用戶像在控制臺中一樣輸入,您可以使用eval來評估他們的 JS:
console.log = function(text){
document.body.insertAdjacentHTML('beforeend', `<div class='log'><div class='text'>${text}</div><div class='time'>${new Date().toLocaleString()}</div></div>`)
}
window.onerror = function(text){
document.body.insertAdjacentHTML('beforeend', `<div class='log danger'><div class='text'>${text}</div><div class='time'>${new Date().toLocaleString()}</div></div>`)
}
btn.addEventListener('click', function(){
eval(input.value)
})
.log{display:flex;justify-content:space-between;padding:15px 20px;border-bottom:1px solid grey;margin-bottom:5px}.log .text{font-weight:bold}.danger{background-color:tomato}
<input id="input"><button id="btn">Execute</button>
<br><br>
Try entering something like: console.log('hi')
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/355551.html
標籤:javascript html 节点.js 安慰
