       external = not ///#{currentHostname}$///i.test(el.hostname)
 
       if external
-        if @settings.openExternalLinksInNewWindow
+        if @settings.openExternalToBlank
           event.preventDefault() && window.open el.href
 
         return
 
 
       # Internal link -----------
-      path = el.pathname + el.search                  # path + query string
-      path = "/#{path}" if path.charAt(0) isnt '/'    # starting '/' for IE8
+      if el.nodeName is 'A'
+        path = el.pathname + el.search                  # path + query string
+        path = "/#{path}" if path.charAt(0) isnt '/'    # starting '/' for IE8
+        callback = (routed) -> event.preventDefault() if routed
+      else
+        path = href
+        callback = (routed) -> if routed then event.preventDefault() else location.href = path
 
       # Pass to the router, try to route internally
-      mediator.publish '!router:route', path, (routed) ->
-        event.preventDefault() if routed
+      mediator.publish '!router:route', path, callback
+
+      # mediator.publish '!router:route', path, (routed) ->
+      #   event.preventDefault() if routed
 
 
 

    # Automatic routing of internal links
    # -----------------------------------

    # Handle all clicks on A elements and try to route them internally
    openLink: (event) ->
      return if utils.modifierKeyPressed(event)



      # Link test ---------------
      if typeof @settings.skipRouting is "function"
        skipRouting = @settings.skipRouting(href)
      else if typeof @settings.skipRouting is "string"
        skipRouting = $el.is(@settings.skipRouting)
      else
        skipRouting = @settings.skipRouting

      return if href is null or
                href is '' or
                href.charAt(0) is '#' or
                target == "_blank" or
                skipRouting


      # External link -----------
