.Net Frameworkで用意されているWebBrowerコントロールを使用して、JavaScriptを実行できるプログラムを作成しました。実行するJavaScriptは素のままだと使い辛いので、jQueryを自動ロードしています。
例えば、Yahooのトップページに対して下記のコードを実行させると…
$('input#srchtxt').val( "hello world" ); $('input#srchbtn').click(); |
指定されたキーワードで検索を行ってくれます。
行っている事は非常に簡単で、Formのボタンをクリックしたら、jQueryをロードした上で、指定されたスクリプトを実行するブックマークレットを走らせるだけです。コードも以下のようにシンプルです(C#のコードの中にJavaScriptのコードが入っているので可読性が低いですが…)。
private void btnRunJs_Click( object sender, EventArgs e ) { string header = @" (function(d, j, b) { function r() { setTimeout(function() { (typeof jQuery == 'undefined') ? r() : b(jQuery); }, 100); } if (j) { b(jQuery); } else { var s = d.createElement('script'); s.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'; d.body.appendChild(s); r(); } })(document, this.jQuery, function($) {"; string footer = @"});"; webBrowser1.Url = new Uri( "javascript:" + header + txtJs.Text + footer ); } |
jQueryのロードは、下記のページの内容を参考にさせて頂きました。
jQueryでブックマークレットを書く 3
せっかく作ったので、ソースと実行ファイルをダウンロードできるようにしておきます。
プロジェクトは、VisualStudio2010で作成しています。
ダウンロード(src,exe)
WebBrowser_WithScriptTest.zip
関連記事
コメントを残す