- 2009年6月25日 06:20
- JavaScript | myown


Firefoxのアドオン、「Operator」のユーザスクリプトを使って、Twitterにポストするものを書いてみました。
Operatorのユーザースクリプトの「hAtom.js」を利用しますため、あらかじめ、以下のページからコードを入手しておく必要があります。
- Operator User Scripts(Mike's Musings)
hAtom.jsのセットの方法は、わかりにくいものでよければ以下のページに記載してあります。
Operator経由でTwitterにポストするためのコードは、以下となります。なお、コチラがユーザスクリプトの書き方をよく把握してないので、書き方があっているのかどうかは不明なのと、Microformatsが書かれていないと動作できないことから、テストしたページは少ないです。(自分のトコのページだけでは限界が。。)
実用性とかはギモンなのですが、参考程度と個人の覚書ということで晒しておきます。
セットのときは任意のファイル名で拡張子.jsとして保存しておき、Operatorのオプションメニューから登録します。登録のときに、Operatorのオプションメニューの「動作」のtabから、「Submit to Twitter」を追加します。
// Submit to Twitter
var submit_to_twitter = {
description: "Submit to Twitter",
shortDescription: "Submit twitter",
scope: {
semantic: {
"hAtom-hFeed": "hAtom-hFeed",
"hAtom-hEntry": "hAtom-hEntry",
"hCard" : "url",
}
},
doAction: function(semanticObject, semanticObjectType, propertyIndex) {
if(semanticObjectType == "hAtom-hFeed"||semanticObjectType == "hAtom-hEntry"){
var _url = window._content.document.location.href;
var _title = window._content.document.title;
return "http://twitter.com/home?status=" + encodeURIComponent(_title) + "%20" + encodeURIComponent(_url) ;
}
if(semanticObjectType == "hCard"){
var _urlvcard;
var property = this.scope.semantic[semanticObjectType];
_urlvcard = semanticObject[property];
return "http://twitter.com/home?status=" + _urlvcard;
}
}
};
SemanticActions.add("submit_to_twitter", submit_to_twitter);
ページで、hAtomが埋め込まれていたときは、そのページのタイトルとURI、hCardでURL情報があるときは、単にURLの情報だけをPOSTします。Operator経由であることを示す語句を添えれば、そのページがMicroformatsが埋め込まれているということを知らせることができるカモ(?)。
- 参考リンク:
- Newer: 分割ページにおいてNOINDEX指定したページのその後の経過をみてみる
- Older: 今月のいらんことしい(2009年6月)
- FirefoxアドオンのOperator→はてブ:ブックマークユーザ数(users)のリンクを作成するユーザスクリプト書いてみた
- MT:Custom Editor Button 2の小技をいくつか
- jQuery For MTプラグインをいれてみました
- Google Friend Connectのコメントとメンバーガジェットのコードをまとめてみる
- ユーザースタイルシート:Google検索の結果ページで自サイトに適用する
- 今月のいらんことしい(2009年12月)
- ユーザースタイルシート:ブラウザのタブにtext-shadow。
- Custom Editor Buttonプラグイン関連まとめページ
- TemplateShelfプラグインの「All Templates」の選択がワナらしいので
- メモ:Firefoxの検索バーにsearch.yahoo.com検索を追加