2017-10-26 6 views
-1

firefoxでは、私はツイッターのページはどこでもうまく動作しているgreasemonkeyスクリプトを作った。 TwitterにはJavaScriptプラグインに対する保護機能がありますか?もしそうなら、回避策はありますか?私のgreasemonkeyコードはtwitter以外のどこでも動作しますか?それを動作させる方法はありますか?

// ==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);

+1

私たちはあなたに私たちに何か詳細を教えてくれません。このスクリプトは何をしていますか? 「それはうまくいかない」とはどういう意味ですか?それはエラーを起こすか?それが失敗する前にしようとしていることを教えてくれますか? Greasemonkeyはページ上でそれを実行しますか? – Shadow

+0

コードを編集して置いてください。だから、greasymonkeyはtwitterのページでスクリプトを認識していないようだ。私がコンソールに直接置くとスクリプトが動作します。 – Matheus

答えて

0

示唆したように、それはあなたが実行しようとしているスクリプトに関するトラブルシューティングするための手順および仕様についての詳細な情報を提供するのが最善です。

しかし、私はここで何が起こっていると思うのTwitterはスクリプトの注入を拒否する彼らのサーバー上で "Content Security Policy directive"を採用しています。

ブラウザで開発者ツールを開き、JavaScriptコンソールの出力を確認することで、エラーを確認できます。

This answer related to CSPが役に立つかもしれませんが、サーバー上で制御されているため、あまり効果がないと思います。

0

問題が見つかりました。 私は

// @include *twitter.com* 

// @include  *://www.twitter.com* 

を変更し、それが今取り組んでいます。 :D

関連する問題