作ったもの
- 8 :l ★:2006/10/19(木) 00:47:54 ID:???
- Sleipnir+SeaHourseプラグイン用、YouTubeの動画ページを開いたときスクリプトとActiveXを有効に
今度こそSleipnir2に移行しようと思い、最新正式版を一からカスタマイズし始めたのだが、「URIアクション」のセキュリティ設定自動変更機能が「セキュリティ高」等の中から選択するという意味不明な仕様になっており、「JavaScriptとActiveXを有効に切り替え」というような明示的な指定が出来なくて苛つく。
別に「全て有効」にしてしまってもいいような気もするが、何となく気にくわないのでSeaHorseスクリプトで切り替えてやることにする。
Sleipnir-APIのSetSecurity()でセキュリティ設定を変更するには、ドキュメントのIDを指定しなければならないということだが、直接知る方法が用意されていないらしい。
仕方ないので、開いている全てのページのGetDocumentObject()の返り値をSleipnirScriptに与えられた_documentオブジェクトと比較して、一致した物をSeaHorseの発動したドキュメントとみなすことに。
一旦読み込んでから切り替えが行われるのが鬱陶しいが、とりあえず動作している気がする。
これを応用すれば、「JavaScriptを有効にすると鬱陶しくてしようがないけど、ActiveXは有効にしたい」というようなサイトが便利になるかも知れない。
セキュリティ切り替えだけでなく、他のSleipnirAPIの機能も使えるはずだ。役に立ちそうなのはNavigateとかオートリロード設定くらいしかないが。プロキシの切り替えとかは出来んのか。
作ったスクリプトは以下。
// ==UserScript==
// @name YouTube
// @description YouTubeのページを開いたときにJavaScriptとActiveXを有効にする
// @include http://www.youtube.com/watch*
// @type SleipnirScript
// ==/UserScript==
var api=sleipnir.API;
var c=api.GetCount();
for(var i=0;i<c;i++){
var id=api.GetDocumentID(i);
if(api.GetWindowObject(id)==_window){
api.SetSecurity(id,true,false,true,false,true,false,false);
break;
}
}
28KB
0ch BBS 2005-10-08