mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			688 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			688 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
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
 | 
						|
 |