2012-05-11 24 views
0

これが可能かどうかわかりませんが、Webブラウザによって読み込まれた値を変更または設定したいと思います。このスクリプトタグでGreasemonkey Userscript Javaスクリプトで変数を変更/設定する

変数が設定されています

<script> 
Current.set('username','tomi'); 
Current.set('user_id','1234'); 


</script> 

私はそのようなことを試してみましたが、明らかにし、次のコード行は動作しません。期待通り:

unsafeWindow.Current.set('username', 'myname'); 
unsafeWindow.Current.set('user_id', '1111'); 

どのように私は、このような操作が可能コード?

答えて

1

実際のターゲットページ(リンク先)と何をしようとしているかによって、より簡単な方法があります。ただし、いつでもthe checkForBadJavascripts utilityを使用できます。スクリプトを設定するだけですto run at document-start

this answerおよびthis answerを参照してください。この場合

、あなたはそうのようなcheckForBadJavascripts()を呼び出します。

function changeUser() { 
    Current.set('username', 'myname'); 
    Current.set('user_id', '1111'); 

    // ... 
} 

checkForBadJavascripts ([ 
    [ false, 
     /username[\'\", ]+tomi/, 
     function() {addJS_Node (null, null, changeUser);} 
    ] 
]); 

*COPY checkForBadJavascripts.js contents here.* 
+0

あなたのコードを追加しましたが、動作しません。私は問題を理解しようとしています。ドキュメントの開始から始まるかどうかを確認しますが、document.readyState:interactiveのためdocument-endで開始しているようです。 –

+0

あなたはこの回答にマークしましたが、あなたのスクリプトは機能していないとのコメントがありますか?あなたはそれを把握しましたか? ***あなたのスクリプトを最初に実行するように設定します。上記の答えのリンクをお読みください。それでも問題が解決しない場合は、完全なスクリプトを質問またはリンクに入れて、問題を把握します。 –

+0

あなたの答えは理にかなっていると私は認めました。そして、私はあなたの良い答えに感謝したい。私はここにそれを投稿する前に、もう少し時間を取ってみるつもりです。ありがとう! –

0

できません。 Greasemonkeyスクリプトは、他のすべてのスクリプトの後およびページのロード後に実行されます。

+0

は、その周りに方法はありますか? –

+0

いいえ、それは安全ではありません。 – antyrat

+1

これはセキュリティ上の理由から、@ ValNolavです。だから、私はそう思わないでしょう – OptimusCrime

関連する問題