Hatena::Diary::Profile
by
noromanba
2012-02-07 [2012/02/07 07:43:30]
閲覧中のはてなダイアリー/はてなブログのダイアリープロフィールにジャンプする(はてなグループ対応)
@@ -8,7 +8,7 @@
* @include http://*.hatenadiary.jp/*
* @license MIT License http://noromanba.mit-license.org/2012+
* @require
- * @see http://let.hatelabo.jp/noromanba/let/* (PermaLink)
+ * @see http://let.hatelabo.jp/noromanba/let/* (Permalink)
* @see http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CAID
* @private NIY
*/
@@ -19,15 +19,34 @@
http://@USENAME.hatenablog.com/about
*/
+
+
+(function() {
+ if (isHatenaWebLog) {
+ var origin = location.origin || location.protocol + '//' + location.hostname;
+ // @TODO はてダが別扱いだからクラス使ってみようか
+ location.href = origin + '/about';
+ }
+})();
+
function isHatenaWebLog() {
- var domains = ['d.hatena.ne.jp',
+ var domains = [
+ 'd.hatena.ne.jp',
'hatenablog.com',
'hateblo.jp',
'hatenadiary.com',
- 'hatenadiary.jp'];
- var origin = location.origin || location.protocol + '//' + location.hostname;
-
- // @TODO domains配列がoriginにcontainか取得
+ 'hatenadiary.jp'
+ ];
+ var host = location.hostname;
+ for (var i = 0, domain; i < domains.length; domain = domains[i], i++) {
+ if (host.lastindexOf(domain)) {
+ return domain;
+ }
+ }
+ return '';
}
+// @TODO はてダ/ブロを表現するクラス
+function HatenaWeblog() {
+}
/*
* @title <-Hatena::Diary::Profile
* @description Go to Hatena::Diary/HatenaBlog Profile (閲覧中のはてなダイアリー/ブログのダイアリープロフィールにジャンプする)
* @include http://d.hatena.ne.jp/*
* @include http://*.hatenablog.com/*
* @include http://*.hateblo.jp/*
* @include http://*.hatenadiary.com/*
* @include http://*.hatenadiary.jp/*
* @license MIT License http://noromanba.mit-license.org/2012+
* @require
* @see http://let.hatelabo.jp/noromanba/let/* (Permalink)
* @see http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CAID
* @private NIY
*/
/*
Profile Pages -> origin + /about
http://d.hatena.ne.jp/@USERNAME/about
http://@USENAME.hatenablog.com/about
*/
(function() {
if (isHatenaWebLog) {
var origin = location.origin || location.protocol + '//' + location.hostname;
// @TODO はてダが別扱いだからクラス使ってみようか
location.href = origin + '/about';
}
})();
function isHatenaWebLog() {
var domains = [
'd.hatena.ne.jp',
'hatenablog.com',
'hateblo.jp',
'hatenadiary.com',
'hatenadiary.jp'
];
var host = location.hostname;
for (var i = 0, domain; i < domains.length; domain = domains[i], i++) {
if (host.lastindexOf(domain)) {
return domain;
}
}
return '';
}
// @TODO はてダ/ブロを表現するクラス
function HatenaWeblog() {
}
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。