diff options
author | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-16 18:49:26 +0900 |
---|---|---|
committer | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-30 00:39:06 +0900 |
commit | fcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch) | |
tree | 64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/ext/win32ole/sample/ienavi.rb |
Fresh start
Diffstat (limited to 'jni/ruby/ext/win32ole/sample/ienavi.rb')
-rw-r--r-- | jni/ruby/ext/win32ole/sample/ienavi.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/jni/ruby/ext/win32ole/sample/ienavi.rb b/jni/ruby/ext/win32ole/sample/ienavi.rb new file mode 100644 index 0000000..8b279dd --- /dev/null +++ b/jni/ruby/ext/win32ole/sample/ienavi.rb @@ -0,0 +1,40 @@ +require 'win32ole' + +$urls = [] + +def navigate(url) + $urls << url +end + +def stop_msg_loop + puts "Now Stop IE..." + $LOOP = FALSE; +end + +def default_handler(event, *args) + case event + when "BeforeNavigate" + puts "Now Navigate #{args[0]}..." + end +end + +ie = WIN32OLE.new('InternetExplorer.Application') +ie.visible = TRUE +ie.gohome + +ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents') + +ev.on_event {|*args| default_handler(*args)} +ev.on_event("NavigateComplete") {|url| navigate(url)} +ev.on_event("Quit") {|*args| stop_msg_loop} + +$LOOP = TRUE +while ($LOOP) + WIN32OLE_EVENT.message_loop +end + +puts "You Navigated the URLs ..." +$urls.each_with_index do |url, i| + puts "(#{i+1}) #{url}" +end + |