Web版非公式RT ブックマークレット

Web版非公式RT ブックマークレット Chrome のみ動作確認。既存の不具合 : URLが含まれるツイートがあるとダメ Ver 0.01

Web版非公式RT ブックマークレット Chrome のみ動作確認。既存の不具合 : URLが含まれるツイートがあるとダメ Ver 0.01

  • タグ:
  • タグはありません
/* WebRT Chrome
WebInformalRT
Version : 0.01 (2012/1/6)
Copyright : (c) 2012 inovia (http://twitter.com/#!/hinekure_inovia)
License : MIT license (http://www.opensource.org/licenses/mit-license.php)
: URL
*/
// 稿
var TweetArea = GetClassName(document,'textarea','twitter-anywhere-tweet-box-editor');
//
var TweetSelect = GetClassName(document,'div','js-stream-item stream-item stream-item expanding-stream-item open');
var Node = TweetSelect;
//
var UserName = GetClassName(Node,'span','username js-action-profile-name');
//
var Tweet = GetClassName(Node,'p','js-tweet-text');
//
BoxClick(TweetArea);
//
timerID = setTimeout(function(){TweetWrite(TweetArea)},500);
// 稿
function TweetWrite(TweetArea){
//
BoxClick(TweetArea);
TweetArea.value = "RT "+UserName.innerText+": "+Tweet.innerText;
//
TweetArea.setSelectionRange(0,0);
clearTimeout(timerID);
}
// 稿
function BoxClick(TweetArea){
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", false, true );
TweetArea.dispatchEvent(evt);
TweetArea.focus();
}
//
function GetClassName(_doc,tgname,clname) {
var tag = _doc.getElementsByTagName(tgname);
for (var i=0; i<tag.length; i++){
if(tag[i].getAttribute('className') == clname){
return tag[i];
}else if ( tag[i].getAttribute('class') == clname ){
return tag[i];
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX