上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top ▲
Bookmarklet for Google

https版のブックマークレットを追加ました。 また、アドレスが長くなりすぎると登録できないようなので、メモの長さが一定以上になる場合、メモを空白にするようにしました。

Bookmarklet for Google

Googleブックマークブックマークレット (http版)

Googleブックマークブックマークレット (https版) 動作確認
  • Windows XP SP2
    1. Sleipnir 2.8.4 + Internet Explorer 7
    2. FireFox 3.0.7
    3. Opera 9.64

スポンサーサイト
2009.03.18 Wed l JavaScript l COM(0) TB(0) l top ▲

Sleipnirのお気に入りに、ステータスバーからRSSなどを登録すると、ダイナミックフォルダとして機能するが、普通にアドレスを登録すると、普通のお気に入りになってしまう。

どうも、アドレスの後ろに .feed とついていると、ダイナミックフォルダとして機能する模様。
例としては、↓のような感じ

http://www.google.com/bookmarks/?output=rss 普通のお気に入り(元のアドレス)
http://www.google.com/bookmarks/?output=rss.feed ダイナミックフォルダ
2008.05.02 Fri l Sleipnir l COM(0) TB(0) l top ▲

GoogleブックマークをSleipnirでうまく使いたかったので ブックマークレットを作ってみた。
SleipnirでGoogleツールバーが使えればこんなものいらないが...

Googleブックマーク 用 ブックマークレット

下のリンクを右クリック [お気に入りに追加] とすることで、現在開いているページを Googleブックマーク に追加するブックマークレットとして動作します。
リンクバーにドラッグでもOKかも

このブックマークレットでは、開いているサイトの情報を使用して、サイト名,URL,ラベル,メモ を一括登録できます。

Bookmarklet for Google Bookmarks - Add to Google Bookmarks 動作確認
  • Windows XP SP2
    1. Sleipnir 2.6.2 + Internet Explorer 6.0
    2. FireFox 2.0.0.12
    3. Opera 9.26

こっちのページでも公開
Bookmarklet for Google

2008.03.15 Sat l JavaScript l COM(0) TB(0) l top ▲

はてな,Google ブックマーク、どちらもRSS配信されてるからSleipnirで読み込めるんじゃないかと思い、試してみた。

まず、はてなブックマーク、

とりあえず、ブックマークページで配信されていたRSSをそのまま登録、

http://b.hatena.ne.jp/{ユーザー名}/rss
http://b.hatena.ne.jp/{ユーザー名}/atomfeed

これなら、他の人の公開ブックマークも見れそうとも思ったのだが、登録はできたのだが、配信しているのが30件までらしく、それ以上前のブックマークは受信できなかった。

何か他の方法が無いか探してみたところ、 Hatena Bookmark > 設定 > データのエクスポート にATOMとRSSがあったので、登録してみた。

http://b.hatena.ne.jp/dump
http://b.hatena.ne.jp/dump?mode=rss

しかし、ステータスバーから登録しないと、「RSSダイナミックフォルダ」ってのに、ならないらしく、普通のブックマークになってしまった ^^;

なので、Headline-Readerプラグイン、RSSバープラグインで試してみた。

Headline-Readerプラグイン
1週間以上前の記事は受信してくれない。(設定で変更可能)

RSSバープラグイン
全てのブックマークが受信されたので、成功!

ただし、はてなにログインした状態でないと、受信できない模様、(ログアウトして試してみた) 外部プログラムからダウンロードする場合はダウンロードURLに対してWSSE認証を行ってください とあったが、WSSE認証って何ぞ?...よくわからなかったのでとりあえずパス...

続いて、Googleブックマーク

http://www.google.com/bookmarks/ にアクセスし、ステータスバーから、そのページにあったRSSを、登録

http://www.google.com/bookmarks/?zx={ナゾの値}&output=rss.feed

普通に完了。自分は古いブックマークが少ないので詳しくは調べてないが、とりえあず

http://www.google.com/bookmarks/?output=rss.feed
http://www.google.com/bookmarks/?output=rss

これでも受信は大丈夫みたいです。

ただし、Googleもログインした状態でないと、受信できない模様

2008.01.27 Sun l Sleipnir l COM(0) TB(0) l top ▲

script.aculo.us なんとなくエフェクト使っては見たが、同時に使ったりすると、挙動がおかしい・・・ 放置しておくのもイヤだったので、調べてみたところ、queue オプションでなんとかなりそうだったので、少し使ってみた。

System55hz blog: script.aculo.us effect.js: Queueの使い方

//同時に実行される。
  new Effect.Appear('id',{
    duration :1
  });
  new Effect.SlideDown('id',{
    duration :1
  });
//順番に実行される。
  new Effect.Appear('id',{
    duration :1
  , queue :{position:'end',scope:'scopename',limit:2}
  });
  new Effect.SlideDown('id',{
    duration :1
  , queue :{position:'end',scope:'scopename',limit:2}
  });

使ってみて気づいたのだが、 Effect.Shakequeue が働かない!?(これだけじゃないかも) effects.js の中身確認してみたら、連続でnew Effect.Moveしてるだけか! しかも、options 渡してないし・・・

どうにも気に入らなかったので、自分で Effect.Shake 書き換えてしまった。 options を少し変えてしまったが、使い勝手は悪くないはず...

動作確認

  • Windows XP SP2
    • Internet Explorer 6.0.2900
    • FireFox 2.0.0.11
    • Opera 9.25
    • Safari 3.0.4

/*
  Effect.Shake の処理にバグがあったので、書き直した。
  (整数型の変数が32bit以上という前提で作りました)
  変更:countオプションで Shake する回数を決めることが出来ます。
        ※ 実際は count * (to - from) 回
  変更:x, y オプションで要素を X 及び Y 方向へ移動することができます。
        処理終了後、元の位置に戻ります。
*/
Effect.Shake = Class.create(Effect.Base, {
  initialize: function(element) {
    this.element = $(element);
    if (!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      count:4
      ,x:20
      ,y:0
      ,duration:0.5
    }, arguments[1] || { });
    this.start(options);
  },
  setup: function() {
    this.element.makePositioned();
    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
  },
  update: function(pos) {
    var px = Math.abs((Math.floor(pos*this.options.count*0x20000-0x10000)&0x3ffff)-0x20000)-0x10000;
    this.element.setStyle({
//      left: (this.options.x * px / 0x10000 + this.originalLeft).round() + 'px'
//      ,top: (this.options.y * px / 0x10000 + this.originalTop).round()  + 'px'
      left: (((this.options.x * px) >> 16) + this.originalLeft).round() + 'px'
      ,top: (((this.options.y * px) >> 16) + this.originalTop).round()  + 'px'
    });
  },
  finish: function(pos) {
    this.element.setStyle({
      left: this.originalLeft + 'px'
      ,top: this.originalTop  + 'px'
    });
  }
});

↑を使用したサンプルコード

  new Effect.Shake('id',{
    queue :{position:'end',scope:'scopename',limit:3}
  });
  new Effect.Shake('id',{
    count:8,    // Shake する回数
    x:0,        // X 方向の移動距離
    y:20,       // Y 方向の移動距離
    queue :{position:'end',scope:'scopename',limit:3}
  });
  new Effect.Shake('id',{
    count:4,    // Shake する回数
    x:20,       // X 方向の移動距離
    y:-5,       // Y 方向の移動距離
    // Effect.Base を継承しているので DefaultOptions も設定可能
    duration:4, // 処理時間
    queue :{position:'end',scope:'scopename',limit:3}
  });

特に問題が無ければ、このコード、 script.aculo.us に送ってみようかとも思ったが、英語が分からない・・・

2008.01.10 Thu l JavaScript l COM(0) TB(0) l top ▲

i2i無料WEBパーツ

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