2010年07月06日

POSTメソッドのログインフォームに自動ログインするブックマークレット

javascript:(function(u,o){var w=window,d=document,f=d.createElement('form'),e,i;(location=='about:blank'?w:open()||w).document.body.appendChild(f);f.action=u;f.method='POST';for(i in o){e=d.createElement('input');e.name=i;e.value=o[i];e.type='hidden';f.appendChild(e);}f.submit();})('/*フォーム要素のaction属性の値*/',{/*各フォームコントロールのname属性の値とvalue属性の値*/});

改行を入れるとこんな感じです。

javascript:(function(u,o){
  var w=window,d=document,f=d.createElement('form'),e,i;
  (location=='about:blank'?w:open()||w).document.body.appendChild(f);
  f.action=u;
  f.method='POST';
  for(i in o){
    e=d.createElement('input');
    e.name=i;
    e.value=o[i];
    e.type='hidden';
    f.appendChild(e);
  }
  f.submit();
})('/*フォーム要素のaction属性の値*/',{/*各フォームコントロールのname属性の値とvalue属性の値*/});

'/*フォーム要素のaction属性の値*/',{/*各フォームコントロールのname属性の値とvalue属性の値の組み合わせ*/}」の具体例としては、Yahoo!JAPANの場合は「'https://login.yahoo.co.jp/config/login',{'login':'ID','passwd':'PASSWORD'}」といった感じです。

GoogleとMSN(live.com)では使えませんでした。Googleはアクセスすると与えられる特別な値が必要で、MSNはJavaScriptかCookieが必要っぽいです。ほかにも使えないところがあると思います。

  • WindowsXPのFirefox3.6で確認しました。
  • WindowsXPのFirefox4.0b2preで確認しましたが、動きませんでした。actionに指定されたページが開くけど各フォームコントロールの値が空になってるようです。Firefox4.0の正式版が出るまでに動くようにしたいです。
  • WindowsXPのGoogleChrome5で確認しましたが、うまく動きませんでした。現在のタブがabout:blankのときにうまく動きませんでした。
  • WindowsXPのIE6で確認しましたが、うまく動きませんでした。ポップアップがブロックされていなくて新規ウィンドウが開くときにうまく動きませんでした。
posted by 掛け出汁 at 20:32 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/155621960

この記事へのトラックバック