由々識の気まぐれ日記

JavaScriptプログラマ「由々識」が時々書くするブログ。 内容はJavaScript全般、Sleipnir関係。

Sleipnir 2.6.1 test4 リリース

Sleipnir 2.6.1 に上書きして使用する テスト版、test3 が 2ch でリリースされました。


<更新履歴>

[仕様変更]
- SecurityZone でローカルマシンゾーンのとき「ローカルマシン」ではなく「マイ コンピュータ」と表示するよう変更した。(RAPT)
- SecurityZone でインターネットオプションが開けないときはエラー音を出すよう変更した。(RAPT)

[不具合修正]
- 一部のブラウザからのお気に入りのインポートが正しく動作しなかった不具合を修正した。(キヨタカ)
- お気に入りパネル、履歴パネル、ウィンドウ一覧パネルで、キーボード操作でコンテキストメニューが正しい位置に
 表示されなかった不具合を修正した。(WEST)
- SecurityZone でタブを切り替えたとき、ゾーン表示が切り替わらない不具合を修正した。
 (Sleipnir 2.6.1 test3 からの修正です。)(RAPT)
- SecurityZone で非アクティブなタブがナビゲートしたときもゾーン表示が切り替わる不具合を修正した。
 (Sleipnir 2.6.1 test3 からの修正です。)(RAPT)
- SecurityZone でローカルマシンゾーンのとき、インターネットオプションが表示されず、タブが切り替わる不具合を修正した。
 (Sleipnir 2.6.1 test3 からの修正です。)(RAPT)
- Sleipnir オプション|ユーザー インタフェース|メニューエディタ|追加|メニュー項目追加で表示されるダイアログで、
 説明が長いとき改行表示されない不具合を修正した。(RAPT)
- Sleipnir オプション|ユーザー インタフェース|メニューエディタ|追加|メニュー項目追加で表示されるダイアログで、
 初期状態で表示されるアクションの説明をすべて日本語表示できるよう修正した。(RAPT)


今回の修正は SecurityZone プラグインが主な様子。
修正内容を見ると、先日の非公式版のものからさらに修正されているもようです。
RAPTさんご苦労様です。

そう言えば、前回の test3 の時に sidusさんが SecurityZone プラグインに対してブログで「これはどんな時に使うんだろう。」と書かれていたので、
私なりの使い方をご説明したいと思います。

まず、IE のインターネットゾーンのセキュリティを厳しくし、JaVaScript や ActiveX を「ダイアログを表示する」に設定します。
具体的には以下のような感じ。

<ActiveXコントロールとプラグイン>
「ActiveXコントロールとプラグインの実行」
→ダイアログを表示する
「ActiveXコントロールに対して自動的にダイアログを表示」
→無効
「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」
→無効
「スクリプトを実行しても安全だとマークされているActiveXコントロールのスクリプトの実行」
→ダイアログを表示する
「バイナリ ピヘイビアとスクリプトビヘイビア」
→無効
「署名済みActiveXコントロールのダウンロード」
→ダイアログを表示する
「未署名のActiveXコントロールのダウンロード」
→無効
<スクリプト>
「Javaアプレットのスクリプト」
→無効
「アクティブスクリプト」
→ダイアログを表示する
「スクリプトによる貼り付け処理の許可」
→無効

この状態の IE で JavaScript や ActiveX を使用した Web ページを閲覧すると、
ダイアログが表示されるようになり、JavaScript や ActiveX を実行する場合は「はい」を選択します。
次に、JavaScript や ActiveX を使用しているサイトで、よく行くサイトを「信頼済みサイト」に登録します。
これでよく行くサイトはいちいちダイアログで「はい」を選ぶ必要が無くなります。
さて、ここで問題なのはよく行かないサイトです。
いちいちダイアログが出て鬱陶しいことこの上ないです。
というわけでここで Sleipnir の出番です。
Sleipnir のデフォルトセキュリティを「画像をロードする」のみ ON にし、
URIアクションに「信頼済みサイト」に登録した URI と同じものを『セキュリティ低』で登録します。
ページのセキュリティが「画像をロードする」のみ ON の状態だと、JavaScript や ActiveX が使用されたページでもダイアログが表示されず、
JavaScript や ActiveX が実行されません。
この状態で Sleipnir のページのセキュリティの「JavaScript の実行を許可」や「ActiveX の実行を許可」を ON にするとダイアログが表示され、
「はい」を選ぶとそれらが実行されます。

「信頼済みサイト」に登録していないサイトで JavaScript や ActiveX を実行したい場合にダイアログで「はい」を選ばなくてはいけないのは面倒ですが、
結構セキュアになります。
誤ってセキュリティモードを切り替えてしまった時も、いきなり JavaScript や ActiveX が実行されることもないので安心です。
ただし、この設定をすると JavaScript ON 必須系の SeaHorse スクリプトが使いにくくなりますので、
その辺はセキュリティをとるか利便性をとるかのトレードオフです。
というか、普通にインターネットするだけならここまでする必要は無いでしょう。
Sleipnir のデフォルトセキュリティを「画像をロードする」のみ ON にするだけで十分です。

で、これと SecurityZone プラグインの関係ですが、
『このサイトは「信頼済みサイト」に登録したかな?』と言う時に一目で現在のセキュリティゾーンがわかります。
そして、ステータスバーの SecurityZone の表示をクリックするとインターネットオプションのセキュリティゾーンのウィンドウが開いて、
すぐに登録&削除ができます。

そんなわけで、セキュリティーゾーンを多用している私にとっては「待ってました!」なプラグインです。

スクリプトを3つバージョンアップ

Sleipnirスクリプトを3つバージョンアップしました。
バージョンアップしたのは、です。
今回の修正点は、3つとも

 ・Sleipnir2.xxの UserAction Extension に対応した。

です。
Sleipnir 2.6.1 test3 でタブを閉じる API の不具合が修正され、
上記3つのスクリプトが 1.66 互換スクリプトとして使用可能になったのを期に UserAction Extension に対応しました。
故に、Sleipnir 2.6.1 test3 以上でないと正常に動作しないので注意。

ちなみに、今回は修正作業自体は1年以上前に終わっており、
動作テストして微調整して公開するだけだったので楽でした。


今回バージョンアップした3つのスクリプトですが、
入念にテストしてから公開してますが、もし不具合をみつけた場合はご報告ください。

sleipnir.Sleep() のブラウザフリーズ状態について

Sleipnir の組み込みスクリプトで sleipnir.Sleep() を使うと指定した時間の間ブラウザがフリーズ状態になるのは既知の事実で、
この不具合(?)を修正してほしいという要望は数多くあがっていますが技術的に難しいのかいまだに修正されません。
ブラウザが止まる理由は確か、UserAction は同期呼びだからスクリプトの動作が止まるとブラウザも止まるとか以前聞いたような気がします。
しかし、そうだとしたら1つ疑問が生じます。
実は、UserAction スクリプト中で WScript.Shell の popup() メソッドを使用してダイアログを表示している間、
ブラウザが操作可能なのです。
しかも、この状態で他の UserAction スクリプトを動作させることも可能です。
(マウスジェスチャ等からは実行できましたが、サジタリウスからは実行できませんでした)
UserAction が同期呼びだった場合、理論的に以上のようなことはおきないように思うのですが、
いったいどういうことなのでしょうか?
それとも、私は“同期呼び”の意味を誤解しているのでしょうか。
というか、この原理を利用して、ブラウザがフリーズしない sleipnir.Sleep() にできないものでしょうかね。

なにはともあれ、誰かこの疑問に答えてほしいです。

BitDefender 10 Free Edition との相性問題

1週間ほど前に BitDefender 10 Free Edition をインストールしたところ、
Sleipnir が起動できなくなりました。(Sleipnir 1.66 は問題無し)
というわけで、いろいろと原因を探ってみました。

調査1.Sleipnir のユーザー設定が記憶されている settings フォルダの中身を空にしてみた。
起動できませんでした。設定の問題ではないようです。
調査2.クリーンインストールしてみた。
起動できました。しかし、まだ原因がわかりません。
調査3.公式のプラグインをインストールしてみた。
公式のプラグインを1つずつインストールし、1つインストールするたびに Sleipnir を再起動してみました。
その結果、Headline-Reader Plugin をインストールして再起動したところ起動不能の症状がでました。
他にも同様の症状がでるプラグインがあるかもしれないので、Sleipnir をクリーンインストールしなおして
他のプラグインのインストール作業続行。
そのの結果、Headline-Ticker Plugin,SnapCrab,SkyPalette,Hatena Bookmarker でも同様に起動不能を確認。
どうやらこれらのプラグインが原因の様子。

次に、BitDefender ですが、実はこれが Sleipnir に干渉していると気づくのには時間がかかりました。
しかし、ネットを検索してこちらのページを見つけて BitDefender が原因であるとわかりました。
というわけで BitDefender 側の検証です。

調査1.常駐プログラムの bdmcon.exe を終了してみた。
Sleipnir は起動できませんでした。
調査2.Windows のサービスで BitDefender 関係のものを『停止』してみた。
マイコンピュータの右クリックメニューから「管理」を選択し「コンピュータの管理」を起動。ウィンドウ左側の一覧から「サービスとアプリケーション|サービス」を選択。
すると右側にサービスの一覧が表示。
その中から BitDefender 関係のサービスを探したところ、
  • BitDefender Communicator
  • BitDefender Desktop Update Service
  • BitDefender Scan Server
  • BitDefender Virus Shield
の4つのサービスを発見。
1つずつサービスを『停止』させていき Sleipnir が起動するか試した。
その結果、「BitDefender Virus Shield」を『停止』させると Sleipnir が起動できるようになった。
どうやらこの「BitDefender Virus Shield」が BitDefender 側の原因のようです。
というわけで「BitDefender Virus Shield」を『無効』にすれば Sleipnir が起動できるようになって万々歳です。問題解決!

・・・とはいきません。「BitDefender Virus Shield」を停止させることで BitDefender の機能の一部が使用できなくなるはずです。
次は「BitDefender Virus Shield」を停止させることで BitDefender がどうなるのか検証します。

調査1.エクスプローラーの右クリックメニューからファイルのスキャンを実行してみた。
正常にファイルがスキャンされました。実際にウィルスファイルを用意して試してはいませんがおそらく大丈夫ではないかと思います。
調査2.GUIである bdmcon.exe を起動してみた。
bdmcon.exe をダブルクリックして起動。・・・、あれ?起動しない?
と思いきや、しばらく待っているとダイアログが表示されました。
ダイアログの内容は“Failed to start the Virus Shield. Please Launch the program again. If the problem persists, please contact your BitDefender representaitive or mail support@bitdefender.com”と書かれ、「retry」と「cansel」のボタンが付いていました。
文章を要訳すると“「Virus Shield」が開始できませんでした。プログラムを再起動してください。問題が解決しなかったらメールください。”という感じでしょうか。
どうやら「BitDefender Virus Shield」を『停止』した状態で GUI である bdmcon.exe を起動しようとするとこのダイアログが出るようです。
で、「retry」を押すと何回も同様のダイアログが出て、「cansel」を押すと GUI が起動しました。
調査3.ウィルス定義ファイルのアップデートをしてみた。
起動した GUI の「Update Now」ボタンを押してアップデート開始。
アップデートのチェックが行われ、ダウンロード完了。
と、ここで止まってしまいました。いくら待ってもインストールが始まりません。
何回やっても結果は同じ。
どうやらウィルス定義ファイルのアップデートができないようです。

この他にも BitDefender には色々な機能がありますが、すいませんが、スケジュールスキャンなど私が普段使わない機能は検証を省略しますのでご了承ください。

とここまでの検証で問題なのはやはりウィルス定義ファイルのアップデートができないことです。
ウィルス定義ファイルのアップデート時に「BitDefender Virus Shield」を『開始』し、Sleipnir を使いたい時に『停止』するのは面倒でやってられません。
「BitDefender Virus Shield」を『停止』せずに Sleipnir を起動できるようにするのは私には不可能なので、
「BitDefender Virus Shield」を『停止』した状態でウィルス定義ファイルを更新する方向でいきたいと思います。
というわけで、またネットの出番。ネットを検索すると BitDefender をコマンドラインから操作してアップデートを行うことが可能であることがわかりました。
情報によれば、"C:Program FilesCommon FilesSoftwinBitDefender Scan Serverbdc.exe" に "/update" を引数に渡してやればアップデートできるようです。
そこで、この bdc.exe のショートカットを Windows のスタートアップフォルダに作成し、
リンク先を「"C:Program FilesCommon FilesSoftwinBitDefender Scan Serverbdc.exe" /update」にしてみました。
これでログオンのたびにアップデートが実行されるようになるはずです。
というわけで試しに一度ログオフして再ログオンしてみました。
さて、正常にアップデートが行われるか・・・。
ログオンしてしばらくするとコマンドプロンプトが起動。
英語の文字列が表示され、正常にアップデートが行われました。

そんなわけで、当面の問題はなんとかなりましたが、
上記の方法では1時間ごとに自動更新する等のことができないので、やはり GUI が使えた方が良いです。

ちなみにこの不具合は Fenrir Open Quality Control に登録済みです。

Sleipnir 2.6.1 test3 リリース

Sleipnir 2.6.1 に上書きして使用する テスト版、test3 が 2ch でリリースされました。


<更新履歴>

[仕様変更]
- Sleipnir が起動処理/終了処理に失敗したとき、Fenrir & Co. にフィードバックを送信していただいた場合に送信する情報を修正した。(NX)
- FeedbackAgent で送信する情報を修正した。(NX)
- Sleipnir オプション|パネル|お気に入りパネル、履歴パネル|ツリーコントロールに展開ボタンを表示するにチェックを入れたとき、
 一行選択のチェックを外すようにした。(WEST)
- null; 登録時の判断を IE と同じになるよう調整した。(RAPT)
- バージョン情報ダイアログの画像を差し替えた。(2008 年バージョンにしています。)(堀江)

[不具合修正]
- リンクバーでダイナミックフォルダ/フォルダをプルダウンしたときにリソースリークする不具合を修正した。(NX)
- Sleipnir-API Close でウィンドウを閉じることができないことがある不具合を修正した。(RAPT)
- SecurityZone プラグインを実装した。(未実装機能を実装しました。)(RAPT)

さて、来ました来ました。ついに来ました。
Sleipnir-API:Close の不具合が修正されました。

というわけで拙作の「重複URLを全て閉じる」が使えるようになったか試してみました。
お気に入りの項目をクリックしまくり40ページほどタブを開き、
全ページの読み込みが完了したところでスクリプトを実行!
さてどうなるか・・・

ちゃんとタブが閉じた!

やったー!正常に重複URLのタブが閉じたー!
これで「重複URLを全て閉じる」が使えるようになりましたね。
RAPT さん GJ !

というわけで、「重複URLを全て閉じる」を UserAction Extension に対応すべく近日中にアップデートする予定です。

この調子で Sleipnir.API:IsBusy() の不具合も早く修正してほしいですね。


そういえば、今回の修正で SecurityZone プラグインが実装されました。
これで IE のセキュリテーゾーンが一目でわかって便利〜♪
・・・と思いきや、タブを切り替えてもセキュリテーゾーンの表示が変わらない。(´Д`;)
どうやら最後に開いたページのセキュリテーゾーンを表示するだけのようです。
タブ切り替えと同時にセキュリテーゾーンの表示も切り替える処理は難しいのでしょうか。
とはいえ、この点は次回のアップデートでぜひ修正してほしいです。


あと、今回から WEST さんが新たに開発に加わったそうです。
今回の修正では1箇所のみの修正ですが、これからどんどん活躍してくれるのでしょう。
ユーザーの一人として応援していますのでがんばってください。

 | HOME |  次のページ »

Sleipnirスクリプトをお探しのかたはこちらへどうぞ。

Yuyu's Digital Lab.

プロフィール

由々識

作者:由々識

JavaScriptプログラマの由々識です。
主にSleipnirスクリプトを書いています。

RSS 1.0

カレンダー

12 | 2008-01 | 02
S M T W T F S
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

アーカイブ

カテゴリー

最新投稿

最新コメント

トラックバック

ツール

あわせて読みたい
この日記のはてなブックマーク数

DTIブログポータルへ
このブログを通報
Report Abuse
利用規約