ユーザーが「Enter」キーを押したときにツイートを送信できる Greasemonkey スクリプトを作成しようとしています。シンプルな HTML ページでこれがうまく動作するようになりました (このサイトのいくつかの優れたヒントの助けを借りて)。ただし、Twitter ページでコードを使用しようとすると、ツイートが現在作成されていない場合にのみアラートが発生します。
document.onkeyup = function(event){
var keyCode;
if (window.event) // IE/Safari/Chrome/Firefox(?)
{
keyCode = event.keyCode;
}
else if (event.which) // Netscape/Firefox/Opera
{
keyCode = event.which;
}
if (keyCode == 13){
alert("Enter pressed");
}
}
次に考えたのは、より具体的なキー押下イベントをテストすることでした。そこで、新しいツイート テキストエリア内でキー イベントをテストしてみました。
document.getElementsByClassName("twitter-anywhere-tweet-box-editor")[0].onkeyup = function(event)
...しかし、このイベントは発生しないようです。また、タグで要素を取得しようとしました:
document.getElementsByTagName("textarea")[0].onkeyup = function(event)
...しかし、サイコロもありません。これは、window.onload() で最初から新しいツイート ウィンドウが読み込まれていないことに関係しているのでしょうか。考え?