やりたいこと
mixiの通常のホームには開発者用のページへのリンク、開発者用のページには通常のホームへのリンクを表示する。
こんな感じ
通常のページ(http://mixi.jp/ もしくは http://mixi.jp/home.pl)には開発者用ページへというリンク。
開発者用のページ(http://platform001.mixi.jp もしくは http://platform001.mixi.jp/home.pl)には通常ページへのリンク。
どうして作ろうと思ったのか
mixiアプリを開発する人なら、開発者用のページだけを使えばいいのかもしれないけど、
mixiを使う分には通常のページで十分だし、それに何かのイベントがあったときに
通常のページだけデザインが変わっていて、開発者用のページはそのままになってて
すごい寂しい思いをしたので、簡単に行き来できるようにしたいと思った。
(この前のワールドカップ出場を決めた直後はジャパンブルーになってた)
処理の流れ
- 現在のページのURLを取得
- URLが"http://mixi.jp/"に一致するかを判定
- 一致する場合には、"http://platform001.mixi.jp/"のlinkを表示
- 一致しない場合、URLが"http://platfrom001.mixi.jp/"に一致するかを判定
- 一致する場合には、"http://mixi.jp/"のlinkを表示
できあがったソース
とういことで、非常に簡単ではございますがソースは以下の通りになりました。
// ==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