stMind

You'll never blog alone

mixiのTopページと開発者用ページを行き来するGreasemonkeyスクリプト

やりたいこと

mixiの通常のホームには開発者用のページへのリンク、開発者用のページには通常のホームへのリンクを表示する。

こんな感じ

通常のページ(http://mixi.jp/ もしくは http://mixi.jp/home.pl)には開発者用ページへというリンク。

f:id:satojkovic:20090626013914p:image

開発者用のページ(http://platform001.mixi.jp もしくは http://platform001.mixi.jp/home.pl)には通常ページへのリンク。

f:id:satojkovic:20090626013905p:image

どうして作ろうと思ったのか

mixiアプリを開発する人なら、開発者用のページだけを使えばいいのかもしれないけど、
mixiを使う分には通常のページで十分だし、それに何かのイベントがあったときに
通常のページだけデザインが変わっていて、開発者用のページはそのままになってて
すごい寂しい思いをしたので、簡単に行き来できるようにしたいと思った。
(この前のワールドカップ出場を決めた直後はジャパンブルーになってた)

処理の流れ

  1. 現在のページのURLを取得
  2. URLが"http://mixi.jp/"に一致するかを判定
  3. 一致しない場合、URLが"http://platfrom001.mixi.jp/"に一致するかを判定

できあがったソース

とういことで、非常に簡単ではございますがソースは以下の通りになりました。

// ==UserScript==
// @name           AddLinkMixiandOpenBeta
// @namespace      http://d.hatena.ne.jp/satojkovic
// @description    Add Link Mixi Home and Open Beta Environment
// @include        http://mixi.jp/
// @include        http://mixi.jp/home.pl
// @include        http://platform001.mixi.jp/
// @include        http://platform001.mixi.jp/home.pl
// ==/UserScript==
(function(){
   // 現在のページのURLを取得
   var currentUrl = document.URL;

   // 追加先のノードを取得
   var nodes = document.getElementsByClassName("utilityNavigation01");

   // URLが通常のページ "http://mixi.jp/" に一致するか?
   if(currentUrl.match(/http:\/\/mixi.jp\//)){
     // 一致したら開発者用のページへのリンクを表示
     var url = "http://platform001.mixi.jp/";

     //	追加する要素を作成
     var text = document.createTextNode("開発者ページへ");
     var a = document.createElement("a");
     a.setAttribute("title", "開発者ページへ");
     a.setAttribute("href", url);
     var li = document.createElement("li");
     li.setAttribute("class", "toPlatform001");

     // リストにリンク要素を追加
     a.appendChild(text);
     li.appendChild(a);

     //	作成したリストを追加
     nodes[0].appendChild(li);
   }
   // URLが開発者用のページ "http://platform001.mixi.jp/" に一致するか?
   else if(currentUrl.match(/http:\/\/platform001.mixi.jp\//)) {
     // 一致したら通常のページへのリンクを表示
     var url = "http://mixi.jp/";

     //	追加する要素を作成
     var li = document.createElement("li");
     li.setAttribute("class", "toMixiJpLink");
     var a = document.createElement("a");
     a.setAttribute("title", "通常ページへ");
     a.setAttribute("href", url);
     var text = document.createTextNode("通常ページへ");

     //	リストにリンク要素を追加
     a.appendChild(text);
     li.appendChild(a);

     // 作成したリストを追加
     nodes[0].appendChild(li);
   }

})();

インストールはこちらから

どうぞご自由にお使いください。
AddLinkMixiandOpenBeta for Greasemonkey