在firefox中,我制作了一个非常好用的程序,但在twitter的页面上工作得很好。 twitter是否有某种针对javascript插件的保护?如果是这样,有没有解决方法?
// ==UserScript==
// @name teste.js
// @namespace teste.js
// @version 1
// @grant none
// @include *://www.twitter.com*
// @include *://www.google.com*
// @include *://www.facebook.com*
// @run-at document-start
// ==/UserScript==
var pressedKey = 1;
var scroll;
function KeyCheck(e)
{
var x = e.which || e.keyCode;
console.log(e);
if (x == 97)
{
clearInterval(scroll);
if ( pressedKey == 1 )
{
scroll = setInterval(function(){ window.scrollBy(0,1); }, 50);
pressedKey = -pressedKey;
//document.getElementById("demo").style.backgroundColor = "red";
}
else if (pressedKey == -1)
{
pressedKey = -pressedKey;
//document.getElementById("demo").style.backgroundColor = "blue";
}
}
}
window.addEventListener('keydown', KeyCheck, true);

答案 0 :(得分:1)
正如所建议的那样,最好提供有关您尝试执行的脚本的详细信息以及有关您尝试执行的脚本的详细信息。
但是,我相信这里发生的事情是Twitter在他们的服务器上使用“Content Security Policy directive”拒绝注入脚本。
您可以通过在浏览器中打开Developer Tools并查看JavaScript控制台输出来看到失败。
This answer related to CSP可能对您有所帮助,但我预计由于在服务器上对其进行控制,因此无法完成任何工作。
答案 1 :(得分:0)
// @include *://www.twitter.com*
到
// @include *twitter.com*
现在正在运作。 :d