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で確認しましたが、うまく動きませんでした。ポップアップがブロックされていなくて新規ウィンドウが開くときにうまく動きませんでした。


