आप अपने बुकमार्क को GreaseMonkey उपयोगकर्ताओं के लिए कनवर्ट करने का प्रयास कर सकते हैं । वे एक विशेषाधिकार प्राप्त वातावरण में चलते हैं और सीएसपी के अधीन नहीं हैं।
हालाँकि, निश्चित रूप से उपयोगकर्ता स्क्रिप्ट और बुकमार्क के अंतर अलग-अलग होते हैं - उपयोगकर्ता बुकमार्क ऑन-डिमांड होते हुए अपने आप चलते हैं। आप <button>
इसे उपयोगकर्ता पृष्ठ में जोड़कर, पृष्ठ पर जोड़कर, और onclick
उस बटन पर एक ईवेंट श्रोता सेट करके बुकमार्क के कोड को आग लगाने के लिए इसे रोक सकते हैं।
कोड इस तरह जाना चाहिए:
// ==UserScript==
// @name Name
// @description Description
// @version 0.1
// @namespace example.Lekensteyn
// @grant none
// @include http*://github.com/*/*/commit/*
// ==/UserScript==
var myBookmarklet = function () {
// here goes the code of the bookmarklet
};
var newButton = document.createElement('button');
newButton.innerHTML = 'Execute my bookmarklet';
newButton.addEventListener('click', function(evt) {
myBookmarklet();
});
document.getElementById('someElement').appendChild(newButton);
मेरे उपयोगकर्ता नाम से लगभग शाब्दिक रूप से लिया गया जो कि GitHub को भी लक्षित कर रहा है। आप debugger;
स्क्रिप्ट में कीवर्ड का उपयोग करके फायरबग में उपयोगकर्ताओं के डिबग कर सकते हैं ।
हालाँकि नोट करें कि फायरबग खुद अभी CSP के अधीन है, इसलिए आप कंसोल में कोड निष्पादित नहीं कर सकते हैं (लेकिन आप "रीड-ओनली" मोड में अपने उपयोगकर्ताओं का निरीक्षण कर सकते हैं)। इस बग में इस बात का ध्यान रखा जा रहा है ।