您可以尝试将您的小书签转换为GreaseMonkey用户脚本。它们在特权环境中运行,并且不受CSP的约束。
但是,用户脚本和书签的意图当然是不同的-在按需书签时,用户脚本会自动运行。您可以通过<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;
脚本中的关键字在Firebug中调试用户脚本。
但是请注意,Firebug本身现在也要受CSP的约束,因此您不能例如在控制台中执行代码(但是您可以在“只读”模式下检查用户脚本)。此错误已得到解决。