2011-08-31 18 views
33

क्या यह सिर्फ मुझे है, या console.log() है एचटीएमएल 5 वेब श्रमिकों से पूछने के लिए?वेब वर्कर console.log

मुझे पता है कि डीओएम में हेरफेर करना अवरुद्ध है क्योंकि यह संभावित रूप से खतरनाक है, लेकिन क्या वास्तव में कोई संभावना है कि console.log() बहुसंख्यक कार्यकर्ता द्वारा दुर्भावनापूर्ण रूप से शोषण किया जा सकता है?

उत्तर

22

सहमत चीजें बहुत अच्छी होंगी, लेकिन postMessage का उपयोग करके एक आदिम console.log को हैक करना मुश्किल नहीं है। डेविड फ्लानागन के पास एक अच्छा रैपर here है।

+1

वास्तव में अच्छा रैपर वास्तव में, लेकिन दुर्भाग्यवश जिस तरह से इसे लागू किया गया है, वह jQuery.Hive के उपयोग की अनुमति नहीं देता है। – ejang

+3

मैं क्रोम देव उपकरण (फॉर्म 17+) का उपयोग करने का सुझाव दूंगा - तो आपको console.log –

+10

का उपयोग किए बिना अपने श्रमिकों को डीबग करने का एक अच्छा विकल्प मिलेगा। डिबगिंग कंसोल लॉगिंग के समान नहीं है, उनके पास अलग-अलग लेकिन थोड़ा ओवरलैपिंग है बक्सों का इस्तेमाल करें। –

13

बस उस कंसोल को पोस्ट करना चाहता था। लॉग अब क्रोम ब्राउज़र के भीतर संभव है।

मुझे नहीं पता कि यह कौन सा संस्करण जोड़ा गया था लेकिन 35.0.1916.153 मीटर में यह है।

सीमा

इसके साथ एक छोटे से सीमा यह है, यह केवल उत्पादन पुरातन (स्ट्रिंग, संख्याओं, बूलियन्स) कभी कभी भी आयाम सरणियों कर सकते हैं।

और यह केवल कंसोल लॉग के भीतर तर्क ले सकता है।

सामान्य कंसोल लॉग:

console.log("status:", _status); // status: working 
console.log({ status: _status }); // { "status": working } 

कार्यकर्ता कंसोल लॉग इन करें:

console.log("status:", _status); // status: 
console.log({ status: _status }); // [object Object] 

आप console.log(JSON.stringify({ status: _status })); इस्तेमाल कर सकते हैं, लेकिन इस परिपत्र संदर्भित वस्तुओं को संभाल नहीं होता है और में एक सुंदर/आसान उत्पादन नहीं वस्तुओं को पढ़ने के लिए होगा ।

अद्यतन: आप console.log(JSON.stringify(someObject, null, " ")); कर स्ट्रिंग के साथ सुंदर प्रिंट प्राप्त कर सकते हैं।

+1

आपको कीड़े और क्रोम धन्यवाद! – Gamemorize

संबंधित मुद्दे