ブックマークレットで現在のウィンドウサイズを微調整する
ウィンドウのサイズ・位置固定でブラウザを開く方法
これはURLをしている.
やりたいのは
「現在開いているページ」を
「新しくページを開くことなく」
「ウインドウサイズを調整」する
現在表示中のページをキャプチャ用に固定サイズの別窓で表示する(ブックマークレット)
code:bookmarklet.js
javascript:window.open(location.href,'_blank','width=1024,height=700');
実行結果
https://scrapbox.io/files/62bfd430cbcc59001de82c4a.png
code:bookmarklet.js
javascript:void(window.resizeTo(1024,screen.availHeight))
動かない...
これをブックマークレットで実行したい!
Window Sizer は Chrome 拡張機能の一つで、画面サイズをあらかじめ登録しておいたサイズにボタン一つで変更することができます。ここでは Google Chrome の拡張機能である Window Sizer のインストール方法と実際の使い方について解説します。
WIndow.ResizeTOは使え無さそう
window.resizeToメソッドの使い方
window オブジェクトの resizeTo メソッドを使うとウィンドウの幅と高さを設定することができます。書式は次のとおりです。
window.resizeTo(width, height)
1 番目の引数に新しい幅のサイズ、 2 番目の引数に新しい高さのサイズを指定します。単位はピクセルです。
実際に試してみましたが、 resizeTo メソッドが有効なのは window.open メソッドによって開いたウィンドウに対してのみでした。実際には次のように行います。
Window.ResizeByも使えない...
window.resizeByメソッドの使い方
window オブジェクトの resizeBy メソッドを使うと現在のウィンドウの幅と高さに対して増減の値を指定してサイズを変更することができます。書式は次のとおりです。
window.resizeBy(width, height)
1 番目の引数に現在の幅に増減する幅のサイズ、 2 番目の引数に現在の高さに増減する高さのサイズを指定します。単位はピクセルです。正の数値を指定すれば増加し、負の数値を指定すれば減少します。
resizeTo メソッドと同様に resizeBy メソッドが有効なのは window.open メソッドによって開いたウィンドウに対してのみです。実際には次のように行います。
これを参考にしてみたけど,やっぱりダメ
例
この関数は、利用可能な画面の 1/4 を占めるようにウィンドウをリサイズします。 Screen.availWidth および Screen.availHeight プロパティを参照してください。
function quarter() {
window.resizeTo(
window.screen.availWidth / 2,
window.screen.availHeight / 2
);
}
code:bookmarklet.js
javascript:function quarter() { window.resizeTo( window.screen.availWidth / 2, window.screen.availHeight / 2 );quarter();
今一番有効そうなやつ
1.icon現在開いているのウインドウのオブジェクトを取得して,変数wに格納する
2.icon変数wに対し,resizetoメソッドを実行する
1.iconはこれでできてる?
code:bookmarklet.js
javascript:var window_obj = window;alert(window_obj);
2.icon
これを追加してみる
window.resizeTo(width, height)
code:bookmarklet.js
javascript:var window_obj = window; window_obj.resizeTo(1024, 700)
動かない...
別な作戦
新しくウインドウを開く
新しく開いたウィンドウをResizeする
前まで開いていたウインドウを閉じる
うーん,新しく開くという処理がハードに依存するからなぁ...
しょうがない,WIndow Resizerのコードを読みにいこう