         history.pushState({href: href}, "#{href}", href)
         pathname = window.location.pathname
         pathname = "/" if pathname == ""
-        e.preventDefault()
+        if (e.preventDefault)
+          e.preventDefault()
+        else
+          e.returnValue = false
         current = pathname
 
       Sirius.Application.logger("Url change to: #{current}")

        current = window.location.hash
        tgt = window.location.origin
        history.replaceState({href: current}, "#{current}", "#{tgt}/#{current}")
        #window.location.href="#{tgt}/#{current}"
      else
        # plain
        route_array = plain_routes

    @route   = options["route"]   || @route
    @logger  = options["logger"]  || @logger
    @start   = options["start"]   || @start
    @hash_always_on_top = options["hash_always_on_top"] || @hash_always_on_top
    @use_hash_routing_for_old_browsers = options["use_hash_routing_for_old_browsers"] || @use_hash_routing_for_old_browsers
    @logger("Logger enabled? #{@log}")

    n = @adapter.constructor.name
    @logger("Adapter: #{n}")
    @logger("Hash always on top: #{@hash_always_on_top}")
    @logger("Use hash routing for old browsers: #{@use_hash_routing_for_old_browsers}")
    @logger("Current browser: #{navigator.userAgent}")



    # start
    Sirius.RouteSystem.create(@route, () =>
      @adapter.fire(document, "application:run", new Date());
    );

    @logger()
    if @start
      Sirius.redirect(@start)

