lafe @ ウィキ
unDonutScript
最終更新:
lafe
-
view
スクリプトはエクスプローラーバーのスクリプトペインから選択することで実行できます
スクリプトを追加したい場合は、unDonut.exeがあるフォルダ内の scriptフォルダに ~.jsファイルを作成することによってスクリプトを追加できます
スクリプトの文字コードはUTF-8を想定しているので、日本語を使っている場合、適当なエディタでUTF-8に変換してください
スクリプトを追加したい場合は、unDonut.exeがあるフォルダ内の scriptフォルダに ~.jsファイルを作成することによってスクリプトを追加できます
スクリプトの文字コードはUTF-8を想定しているので、日本語を使っている場合、適当なエディタでUTF-8に変換してください
以下スクリプトの仕様になります
仕様は予告なく変更される場合があります
仕様は予告なく変更される場合があります
unDonut オブジェクト
◆プロパティ
unDonut.TabCount
現在開かれているすべてのタブの総数を返します
unDonut.ActiveTabIndex
現在アクティブなタブのインデックスを返します
数値を代入することでアクティブなタブを変更することができます
数値を代入することでアクティブなタブを変更することができます
例: unDonut.ActiveTabIndex = 1; // 1番目のタブをアクティブにします
◆メソッド
unDonut.Alert(VARIANT v);
引数に渡された物をメッセージボックスに表示します
例: unDonut.Alert("test"); // test と表示されたメッセージボックスが表示されます
unDonut.GetChildFrame(int nIndex);
nIndex番目のChildFrameオブジェクトを返します
unDonut.GetActiveChildFrame();
アクティブなタブのChildFrameオブジェクトを返します
unDonut.GetClipboardText();
クリップボードに入っているテキストを返します。
unDonut.SetClipboardText(BSTR text);
textをクリップボードに入れます
unDonut.OpenTab(BSTR url, bool bActive);
urlを新しいタブで開きます
bActive が true のとき開かれたタブはアクティブになります
bActive が true のとき開かれたタブはアクティブになります
例: unDonut.OpenTab("http://www.google.co.jp/", true); // googleを新しいタブで開いてアクティブにします
ChildFrameオブジェクト
◆プロパティ
ChildFrame.DLCtrl
現在のマルチメディア/セキュリティの状態を返します
画像の表示/非表示、サウンドの再生許可、javascriptの実行許可などを設定します
以下のフラグを組み合わせて指定します
DLCTL_DLIMAGES = 0x00000010 // 画像を表示します
DLCTL_VIDEOS = 0x00000020 // ビデオを再生します
DLCTL_BGSOUNDS = 0x00000040 // サウンドを鳴らします
DLCTL_NO_SCRIPTS = 0x00000080 // 設定すると、javascriptの実行を禁止します
DLCTL_NO_JAVA = 0x00000100 // 設定すると、JAVAの実行を禁止します
DLCTL_NO_RUNACTIVEXCTLS = 0x00000200 // 設定すると、ActiveX(Flashなど)の実行を禁止します
DLCTL_NO_DLACTIVEXCTLS = 0x00000400 // 設定すると、ActiveXのダウンロード実行を禁止します
画像の表示/非表示、サウンドの再生許可、javascriptの実行許可などを設定します
以下のフラグを組み合わせて指定します
DLCTL_DLIMAGES = 0x00000010 // 画像を表示します
DLCTL_VIDEOS = 0x00000020 // ビデオを再生します
DLCTL_BGSOUNDS = 0x00000040 // サウンドを鳴らします
DLCTL_NO_SCRIPTS = 0x00000080 // 設定すると、javascriptの実行を禁止します
DLCTL_NO_JAVA = 0x00000100 // 設定すると、JAVAの実行を禁止します
DLCTL_NO_RUNACTIVEXCTLS = 0x00000200 // 設定すると、ActiveX(Flashなど)の実行を禁止します
DLCTL_NO_DLACTIVEXCTLS = 0x00000400 // 設定すると、ActiveXのダウンロード実行を禁止します
例: unDonut.GetActiveChildFrame.DLCtrl = 0x10 | 0x80; // アクティブなタブの 画像の表示を許可して、javascriptの実行を禁止します
ChildFrame.ExStyle
以下の状態を取得/設定します
DVS_EX_OPENNEWWIN = 0x00000001, // ナビゲートロック状態にします
DVS_EX_MESSAGE_FILTER = 0x00000004, // メッセージフィルターを有効にします
DVS_EX_MOUSE_GESTURE = 0x00000008, // マウスジェスチャーを有効にします
DVS_EX_OPENNEWWIN = 0x00000001, // ナビゲートロック状態にします
DVS_EX_MESSAGE_FILTER = 0x00000004, // メッセージフィルターを有効にします
DVS_EX_MOUSE_GESTURE = 0x00000008, // マウスジェスチャーを有効にします
例: unDonut.GetActiveChildFrame.ExStyle = 0x1; // アクティブなタブをナビゲートロック状態にします
ChildFrame.AutoRefresh
自動更新の状態を取得/設定します
DVS_AUTOREFRESH_NONE = 0x00000000, // 自動更新をやめます
DVS_AUTOREFRESH_15SEC = 0x00000001, // 自動更新を15秒に設定します
DVS_AUTOREFRESH_30SEC = 0x00000002, // 自動更新を30秒に設定します
DVS_AUTOREFRESH_1MIN = 0x00000004, // 自動更新を1分に設定します
DVS_AUTOREFRESH_2MIN = 0x00000008, // 自動更新を2分に設定します
DVS_AUTOREFRESH_5MIN = 0x00000010, // 自動更新を5分に設定します
DVS_AUTOREFRESH_USER = 0x00000020, // 自動更新をユーザー指定秒に設定します
DVS_AUTOREFRESH_NONE = 0x00000000, // 自動更新をやめます
DVS_AUTOREFRESH_15SEC = 0x00000001, // 自動更新を15秒に設定します
DVS_AUTOREFRESH_30SEC = 0x00000002, // 自動更新を30秒に設定します
DVS_AUTOREFRESH_1MIN = 0x00000004, // 自動更新を1分に設定します
DVS_AUTOREFRESH_2MIN = 0x00000008, // 自動更新を2分に設定します
DVS_AUTOREFRESH_5MIN = 0x00000010, // 自動更新を5分に設定します
DVS_AUTOREFRESH_USER = 0x00000020, // 自動更新をユーザー指定秒に設定します
例: unDonut.GetActiveChildFrame.AutoRefresh = 0x4; // アクティブなタブの自動更新を1分に設定します
◆メソッド
ChildFrame.GetWebBrowserObject();
WebBrowserオブジェクトを取得します
ブラウザの動作モードがマルチプロセスだと、たぶん死にます
ブラウザの動作モードがマルチプロセスだと、たぶん死にます
例: unDonut.Alert(unDonut.GetActiveChildFrame.GetWebBrowserObject.document.title); // アクティブなタブのタイトルをメッセージボックスに表示します
サンプル
copytitleurl.js
アクティブなタブのタイトルとURLをクリップボードにコピーします
var activeChildFrame = unDonut.GetActiveChildFrame;
if (activeChildFrame != null) {
var doc = activeChildFrame.GetWebBrowserObject.document;
unDonut.SetClipboardText(doc.title + "\r\n" + doc.URL);
}
javascript実行のトグル.js
スクリプトを実行するたびにアクティブなタブのjavascript実行の許可/不許可をトグルします
var activeChildFrame = unDonut.GetActiveChildFrame;
if (activeChildFrame != null) {
if (activeChildFrame.DLCtrl & 0x80)
activeChildFrame.DLCtrl &= ~0x80;
else
activeChildFrame.DLCtrl |= 0x80;
}
ページ内のすべての画像のURLをクリップボードにコピー.js
var activeChildFrame = unDonut.GetActiveChildFrame;
if (activeChildFrame != null) {
var doc = activeChildFrame.GetWebBrowserObject.document;
var length = doc.images.length;
var text = "";
for (var i = 0; i < length; ++i) {
text += doc.images[i].src + "\r\n";
}
unDonut.SetClipboardText(text);
}