diff --git a/src/ng/location.js b/src/ng/location.js index 402db3cf04d5..e33e73617646 100644 --- a/src/ng/location.js +++ b/src/ng/location.js @@ -629,16 +629,19 @@ function $LocationProvider(){ } var absHref = elm.prop('href'); - var rewrittenUrl = $location.$$rewrite(absHref); - - if (absHref && !elm.attr('target') && rewrittenUrl && !event.isDefaultPrevented()) { - event.preventDefault(); - if (rewrittenUrl != $browser.url()) { - // update location manually - $location.$$parse(rewrittenUrl); - $rootScope.$apply(); - // hack to work around FF6 bug 684208 when scenario runner clicks on links - window.angular['ff-684208-preventDefault'] = true; + // test for string to avoid SVGAnimatedString + if (absHref && angular.isString(absHref)) { + var rewrittenUrl = $location.$$rewrite(absHref); + + if (!elm.attr('target') && rewrittenUrl && !event.isDefaultPrevented()) { + event.preventDefault(); + if (rewrittenUrl != $browser.url()) { + // update location manually + $location.$$parse(rewrittenUrl); + $rootScope.$apply(); + // hack to work around FF6 bug 684208 when scenario runner clicks on links + window.angular['ff-684208-preventDefault'] = true; + } } } });