Not sure if this helps 100% but in my Ruby code I require "dialogs.rb"
and then call killjspopup(browser)
right after loading a new page into Watir::Browser. This file contains:
def killjspopup(browser)
# don't return anything for alert
browser.execute_script("window.alert = function() {}")
# return some string for prompt to simulate user entering it
#browser.execute_script("window.prompt = function() {return 'my name'}")
# return null for prompt to simulate clicking Cancel
browser.execute_script("window.prompt = function() {return null}")
# return true for confirm to simulate clicking OK
browser.execute_script("window.confirm = function() {return true}")
# return false for confirm to simulate clicking Cancel
#browser.execute_script("window.confirm = function() {return false}")
end