Home > 2007年12月

2007年12月

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

foobar2000のタイトルバーにインデックス番号を表示

追記: 2008年6月17日 foobar2000 v0.9.5.3以上では「cwbowron's title format hooks」は使えません。

foobar2000のタイトルバーに今再生している曲がプレイリストの何番目にあるかを表示する方法

曲のインデックス番号に当たるフィールド(タグやファイルなどの情報を取得するもの)は、'%playlist_number%'と'%list_index%'があるのだが、ウィンドウのタイトルには使えない。

こういう時にはコンポーネントを利用する。cwbowron's title format hooksを使えば表示できるようになる。このプラグインは取得可能な情報を増やしてくれる。

タイトルの設定

cwbowron's title format hooks version 1.2.5

Foobar2000:Hooks - WikiBazQuuxから foo_cwb_hooksをダウンロードして、foobar フォルダ内の components フォルダに入れる。

Preferences > Display > Title Formattingの Main window titleタブで、 再生中のトラックのインデックス番号を返すフィールド '%cwb_playing_index%'を適当な位置に挿入する。

私の設定
%cwb_playing_index%.
 ['['$padcut($replace(%album%,The ,),5)_%tracknumber%']' ]
[%artist% - ]%title% - foobar2000

(例) 1. [Cookb_12] Missy Elliott - Teary Eyed - foobar2000

参考

Mozilla Developer Centerの翻訳されていないページを英語版にリダイレクトする User JavaScript

Opera User JavaScriptを書いています。

Mozilla Developer Centerは有用な情報が多いので、JavaScriptや DOMのことを調べる時にをよく利用している。

いつも日本語版を見ているが、時々翻訳されていないページに当たるときがある。英語などほかの言語にリンクされていて困ることはないが、リンクをクリックするのがちょっと面倒くさくなってきたので、翻訳されていないページを開いたら英語のページにリダイレクトするスクリプトを作ってみた。

スクリプトの内容

URIに'&action=edit'が含まれているページは翻訳されていないと判断している。

URIを正規表現で下のように置換して、ページを開く。

http://developer.mozilla.org/ja/docs/index.php?title=DOM:element.firstChild&action=edit
↓
http://developer.mozilla.org/en/docs/DOM:element.firstChild

スクリプト

// ==UserScript==
// @include http://developer.mozilla.org/ja/docs/*
// @exclude
// ==/UserScript==

document.addEventListener('load', function() {

    var url = location.href;
    var urlReg = /(http:\/\/developer.mozilla.org\/)ja(\/docs\/)index.php\?title=(.*)&action=edit$/
    if ( urlReg.exec(url)) {
        location.href = RegExp.$1 + 'en' + RegExp.$2 + RegExp.$3;
    }

}, false);

User JavaScriptの練習 - object要素で外のページを表示

Opera User JavaScriptを分からん人間が練習してます。

サイトに外のページを埋め込む

Yahoo!デベロッパーネットワーク - 検索パラメータ仕様 - Yahoo!検索(ウェブ検索)がページ上に開かれたYahoo!検索

Yahoo!検索@を押すと、Yahoo!デベロッパーネットワーク - 検索パラメータ仕様 - Yahoo!検索(ウェブ検索)がページ上に開く。

// ==UserScript==
// @include http://search.yahoo.co.jp/*
// @exclude
// ==/UserScript==

document.addEventListener('load', function() {
    
    // object要素の作成
    var objectElement = document.createElement('object');
    objectElement.setAttribute( 'type', 'text/html');
    objectElement.setAttribute( 'height', '400');
    objectElement.setAttribute( 'width', '800');
    objectElement.setAttribute( 'data', 'http://developer.yahoo.co.jp/query_parameters/websearch.html');
    objectElement.style.cssText = 'position: absolute;' + 'bottom: 0;' + 'z-index: 100;' + 'border: 1px solid black;' + 'display: none;';
    document.body.appendChild( objectElement);

    // 「@」キーを押すと表示
    document.addEventListener('keydown', function(e) {
        if(e.target.nodeName=='INPUT'){
            return;
        }
        if (String.fromCharCode(e.keyCode) == '@') {
            objectElement.style.display = ( objectElement.style.display? '': 'none');
        }
    }, false);
}, false);

object要素で外のページを埋め込んでいる。

<object data="http://developer.yahoo.co.jp/query_parameters/websearch.html" type="text/html" height="400" width="800">

外のページをウィンドウで開く

Yahoo!検索の上に開いたYahoo!デベロッパーネットワーク - 検索パラメータ仕様 - Yahoo!検索(ウェブ検索)のウィンドウ

Yahoo!検索@を押すと、Yahoo!デベロッパーネットワーク - 検索パラメータ仕様 - Yahoo!検索(ウェブ検索)が新しいウィンドウに開かれる。

こっちのほうがずっと簡単です。 わざわざ User Javascriptでやらなくても、ブックマークレットで十分だが、スクリプトにした。

// ==UserScript==
// @include http://search.yahoo.co.jp/*
// @exclude
// ==/UserScript==

document.addEventListener('load', function() {

    // 「@」キーを押すと、ウィンドウを開く
    document.addEventListener('keydown', function(e) {
        if(e.target.nodeName=='INPUT'){
            return;
        }
        if (String.fromCharCode(e.keyCode) == '@') {
            var newWindow = window.open( 'http://developer.yahoo.co.jp/query_parameters/websearch.html', 'new', 'width=800,height=400,top=200');
            newWindow.focus();
        }
    }, false);
}, false);

window.open( url, ウィンドウの名前, オプション);

window.open( 'http://developer.yahoo.co.jp/query_parameters/websearch.html', 'new', 'width=800,height=400,top=200');

注意: Operaのポップアップの設定が「すべてのポップアップの設定を無効にする」にしてあると、外のページのウィンドウは開けない。

参考

User JavaScriptの練習 - マウスホイールで画像を拡大縮小

Opera User JavaScriptを分からん人間が練習してます。

マウスホイールイベント

イベント名
mousewheel
イベントプロパティ(どっちでもいいが、プラスマイナスが反対になる)
  • wheelDelta …… 手前:-120 奥:120
  • detail ………… 手前:3 奥:-3

マウスホイールで画像を拡大縮小するスクリプト

画像の上でマウスホイールを奥に回すと拡大、手前に回すと縮小する。


// ==UserScript==
// @include *
// @exclude 
// ==/UserScript==

document.addEventListener('load', function() {

    var image = document.getElementsByTagName( 'img');
    for ( var i=0; i<image.length; i++) {
        image[i].addEventListener( 'mousewheel', function(e) {
            // 画像を縮小
            if ( e.wheelDelta == -120) {
                e.currentTarget.width = Math.floor( e.currentTarget.width * 0.9);
                e.currentTarget.height = Math.floor( e.currentTarget.height * 0.9);
            }
            // 画像を拡大
            if ( e.wheelDelta == 120) {
                e.currentTarget.width = Math.floor( e.currentTarget.width * 1.1);
                e.currentTarget.height = Math.floor( e.currentTarget.height * 1.1);
            }
            e.preventDefault();
        }, false);
    }
}, false);

マウスホイールを手前に回すと画像を10%縮小、奥に回すと画像を10%拡大にしている。が、要素の配置によっては思ったように行かない(行かないほうが多い)。

画像を拡大 画像を縮小

(前)画像を拡大したところ。(後)画像を縮小したところ。

参考

Google Videoを少し見やすくする User JavaScript

Operaで役に立たない User JavaScriptを書いています。

画面の切れたGoogle Video

Google Videoの動画を見る時、Operaでページを開くと、上の部分がやたらと場所をとることがある。(座標をうまく取れてないのか?)動画を見やすくするスクリプトを作ってみた。

スクリプトの流れ

  1. ページ上部の要素を消す。
  2. 動画のインラインフレームの高さを広げる。
// ==UserScript==
// @include http://video.google.com/videoplay*
// @exclude
// ==/UserScript==

document.addEventListener('load', function() {

    // 上の部分を消す
    var first = document.getElementById('lpaf_framefull');
    first.style.display='none';

    // インラインフレームを広げる
    var second = document.getElementById('3rdPartyFrame');
    second.style.height = window.innerHeight + 'px';
    
}, false);

動画の画面が少し大きすぎるか。

Home > 2007年12月

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。