मैं एक बुकमार्क बनाने की कोशिश कर रहा हूं (इस मामले में क्रोम में)

एपीआई/बुकमार्क/बनाएं

मेरा कोड है:

	function onCreated(node) {
  console.log(node);
}

var createBookmark = browser.bookmarks.create({
  title: "bookmarks.create() on MDN",
  url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create"
});

createBookmark.then(onCreated);
<!DOCTYPE html>
<html>
<head>
	<title>test</title>
</head>
<body>

<p>text example</p>
</body>
</html>

जब मैं क्रोम में कोड चलाता हूं तो मुझे यह त्रुटि मिली:

Uncaught ReferenceError: browser is not defined

मैं इसे अन्य कोड चलाता हूं:

function onFulfilled(bookmarkItems) {
  if (bookmarkItems.length) {
    console.log("active tab is bookmarked");
  } else {
    console.log("active tab is not bookmarked");
  }
}

function onRejected(error) {
  console.log(`An error: ${error}`);
}

function checkActiveTab(tab) {
  var searching = browser.bookmarks.search({url: tab.url});
  searching.then(onFulfilled, onRejected);
}

browser.browserAction.onClicked.addListener(checkActiveTab);

से :यहां मुझे वही त्रुटि मिली .

अद्यतन प्रश्न:

इस पल में मेरा मेनिफेस्ट.जेसन:

 {
    "name": "add site random",
    "version": "1.0",
    "description": "this is my first extension in production",
    "manifest_version": 2
  }

कोई विचार क्योंकि मुझे यह त्रुटि है मैं एक फ़ोल्डर बनाने और कोड से अपने बुकमार्क में एक साइट जोड़ने का प्रयास कर रहा हूं?

1
user9983619 23 जुलाई 2018, 09:49
हाय साइमन, अगर मैं गलत नहीं हूँ। आप क्रोम एक्सटेंशन विकसित करने की कोशिश कर रहे हैं, है ना?
 – 
David R
23 जुलाई 2018, 09:53
हां, मैं एक क्रोम एक्सटेंशन बनाने की कोशिश करता हूं जो मेरे प्रोजेक्ट से मेरा पूरा कोड नहीं है, लेकिन मैं उस हिस्से में एक कोड बनाने की कोशिश कर रहा हूं जो मुझे क्रोम से मेरे बुकमार्क्स में एक फ़ोल्डर बनाने की अनुमति देता है और एक साइट मेरा एक्सटेंशन जोड़ता है जब उपयोगकर्ता एक बटम में क्लिक देते हैं तो इसका काम साइटों को जोड़ना है
 – 
user9983619
23 जुलाई 2018, 09:56
क्या आप कृपया अपनी पोस्ट को अपनी manifest.json फ़ाइल सामग्री से अपडेट कर सकते हैं?
 – 
David R
23 जुलाई 2018, 09:56
हाँ एक क्षण दें मैं प्रश्न को संपादित करने जा रहा हूँ
 – 
user9983619
23 जुलाई 2018, 09:58
पहले से ही
 – 
user9983619
23 जुलाई 2018, 10:01

2 जवाब

सबसे बढ़िया उत्तर

आपके हाल के संपादन से और आपके manifest.json को देखकर ऐसा लगता है कि आप कुछ permissions फ़ील्ड खो रहे हैं,

इसलिए अपने manifest.json को इस तरह अपडेट करें, (फिर एक नया एक्सटेंशन पैकेज करें)

{
    "name": "add site random",
    "version": "1.0",
    "description": "this is my first extension in production",
    "manifest_version": 2,
    "background": {
      "scripts": ["YOUR_BACKGROUND_SCRIPT_NAME.js"]
    }, 
    "permissions": [
        "notifications",
        "activeTab"
    ]
}

उम्मीद है ये मदद करेगा!

2
David R 23 जुलाई 2018, 10:08
मेरी पोस्ट को पृष्ठभूमि फ़ील्ड के साथ अपडेट किया। इसे भी अपडेट करें
 – 
David R
23 जुलाई 2018, 10:08
यह काम नहीं कर रहा है मैं कोड चलाता हूं मुझे त्रुटि नहीं मिली लेकिन यह कुछ भी नहीं बनाता है जिसे मैंने अपने बुकमार्क्स में चेक आउट किया है और मौजूद नहीं है, मेरा कोड पूरा यहां है: gist.github.com/gilbertoquinteroA/…
 – 
user9983619
23 जुलाई 2018, 10:20

manifest फ़ाइल के भीतर लापता स्क्रिप्ट कॉल के अलावा, जो टिप्पणी की गई लिंक की जांच के बाद हल हो गई है (अच्छी पकड़ @ डेविडआर!), हालांकि, प्रश्न के कोड के दोनों संस्करणों में अभी भी html के <head> ब्लॉक के भीतर से manifest फ़ाइल का संदर्भ नहीं है, उदाहरण के लिए। कुछ ऐसा <link rel="manifest" href="/manifest.webmanifest"> जैसा कि Mozilla द्वारा सुझाया गया है, बस अनुमति दे सकता है हां वर्तमान मुद्दों से परे।

संपूर्णता के लिए मेरे विचार से आप उस index.html फ़ाइल के साथ निम्न कार्य कर सकते हैं...

<!DOCTYPE html>
<html>
<head>
    <link rel="manifest" href="/manifest.webmanifest">
    <title>test</title>
</head>
<body>


</body>
</html>

... और मैं कारण विनिर्देश से संबंधित हैं।

0
S0AndS0 5 जून 2019, 09:18