6

"संपत्ति को पढ़ नहीं सकता है हाय मुझे chrome.notifications.create को क्रोम ऐप के जेएस में किसी फ़ंक्शन के अंदर कॉल करते समय त्रुटि मिलती है। एक समारोह मैं निम्नलिखित त्रुटि मिलती है के भीतर एक समारोह के बाहर, लेकिन जब से ठीक किया जा सकता है:,chrome.notifications.create का उपयोग करते समय त्रुटि "Uncaught TypeError: अवांछित"

document.addEventListener('DOMContentLoaded', function() { 
document.getElementById('submit').addEventListener('click', submit); 
}); 
function submit() { 
    var options = { 
    type:"basic", 
    title:"nameVal", 
    message:"msgVal", 
    iconUrl:"icon.png", 
    }; 
    //notification options set 
    chrome.notifications.create(options,callback); 
    //notification set 
} 
function callback() { 
    console.log("Notification succesfull"); 
    //notification confirmed 
} 

धन्यवाद:

यहाँ: "Uncaught TypeError संपत्ति पढ़ा नहीं जा सकता अपरिभाषित की 'बनाने' 'कोड है जब मैं जेएस और क्रोम ऐप की बात करता हूं तो मैं नोब हूं इसलिए किसी भी मदद की सराहना की जाती है :)

उत्तर

13

2 संभावित कारण हैं।

  • आप इसे content script से उपयोग करने का प्रयास कर रहे हैं। आप नहीं कर सकते: सामग्री स्क्रिप्ट्स जो क्रोम एपीआई कॉल कर सकते हैं, उनमें बहुत सीमित हैं। सामग्री स्क्रिप्ट से send a message, एक पृष्ठभूमि लिपि में इसे पाने के लिए और कार्रवाई निष्पादित करें:

    However, content scripts have some limitations. They cannot:

    Use chrome.* APIs, with the exception of:
    extension ( getURL , inIncognitoContext , lastError , onRequest , sendRequest )
    i18n
    runtime ( connect , getManifest , getURL , id , onConnect , onMessage , sendMessage )
    storage

    उस मामले में, आप एक पृष्ठभूमि स्क्रिप्ट को यह कॉल को सौंपने की जरूरत है।

  • आप इसे एक विस्तार स्क्रिप्ट से कॉल करने का प्रयास कर रहे हैं, लेकिन "notifications" अनुमति की घोषणा नहीं की।

    उस स्थिति में फिक्स मामूली है - बस अनुमति जोड़ें।

+0

अरे क्या आप अभी भी सहायता करने में सक्षम हैं –

6

क्या आपने अपने manifest.json में क्रोम अधिसूचना अनुमतियां जोड़ दी हैं?

क्या है और नहीं है कि आपके एक्सटेंशन में भरी हुई है, और क्या आप का उपयोग भी है साथ permissions: ["notifications",//other permissions here]

अनुमतियाँ सौदों जोड़ने।

+0

यह मेरा जवाब से बेहतर है। – erikdstock

+0

मुझे पहले से ही manifest.json फ़ाइल में यह था धन्यवाद। मैं वास्तव में उलझन में हूं – pizza1talia

+0

बस प्रलेखन को देखा, मुझे लगता है कि आपके कॉलबैक फ़ंक्शन को अधिसूचना आईडी पैरामीटर होना चाहिए जैसे 'फ़ंक्शन कॉलबैक (अधिसूचना आईडी) {...} '। यदि यह काम नहीं करता है, तो create() फ़ंक्शन से कॉलबैक फ़ंक्शन संदर्भ को निकालने का प्रयास करें, इसलिए यह केवल '... बनाएं (विकल्प); ' –

0

जब मैं chrome.notifications का उपयोग करता हूं तो मेरे पास इस अनिश्चित प्रश्न के लिए एक मामला है।

var options = { 
      type: "basic", 
      title: "Extention Title", 
      message: 'Extention Message", 
      iconUrl: "images/icon_86.png" // My Case:Error in iconUrl 
     }; 

लेकिन मेरा 'icon_86.png' छवि फ़ोल्डर में नहीं है।

समाधान: जब मैं अपने सही आइकन यूआरएल का उपयोग करता हूं तो यह ठीक होगा।

('icon_86.png', यह मेरी परियोजना रूट निर्देशिका में है)

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