Ви можете спробувати перетворити закладки в сценарії користувачів GreaseMonkey . Вони працюють у пільговому середовищі та не підлягають CSP.
Однак, звичайно, наміри користувацьких скриптів та закладок відрізняються - користувацькі сценарії запускаються автоматично, тоді як закладки на вимогу. Ви можете обійти це, наприклад, створивши <button>
в usercript, додавши його на сторінку та встановивши 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. Ви можете налагоджувати сценарії користувачів у Firebug, використовуючи debugger;
ключове слово у сценарії.
Зауважте, однак, що сама Firebug наразі також підпадає під дію CSP, тому ви не можете, наприклад, виконувати код у консолі (але ви можете перевіряти свої сценарії користувачів у режимі "лише для читання"). Про це дбають у цій помилці .