From 6490b113d8f0e0ca4f7835e703593024f7adc332 Mon Sep 17 00:00:00 2001 From: damianedwards Date: Thu, 26 Feb 2015 17:56:47 -0800 Subject: [PATCH] Make LinkTagHelper JS down-level browser safe: - #2088 --- .../js/LinkTagHelper_FallbackJavaScript.js | 5 ++++- .../MvcTagHelpersWebSite.MvcTagHelper_Home.Link.html | 12 ++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/js/LinkTagHelper_FallbackJavaScript.js b/src/Microsoft.AspNet.Mvc.TagHelpers/js/LinkTagHelper_FallbackJavaScript.js index e68f3a92d5..45e5180233 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/js/LinkTagHelper_FallbackJavaScript.js +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/js/LinkTagHelper_FallbackJavaScript.js @@ -16,9 +16,12 @@ scriptElements = doc.getElementsByTagName("SCRIPT"), // Find the meta tag before this script tag, that's the element we're going to test the CSS property on meta = scriptElements[scriptElements.length - 1].previousElementSibling, + // Get the current style of the meta tag starting with standards-based API and falling back to <=IE8 API + metaStyle = (doc.defaultView && doc.defaultView.getComputedStyle) ? doc.defaultView.getComputedStyle(meta) + : meta.currentStyle, i; - if (doc.defaultView.getComputedStyle(meta)[cssTestPropertyName] !== cssTestPropertyValue) { + if (metaStyle && metaStyle[cssTestPropertyName] !== cssTestPropertyValue) { for (i = 0; i < fallbackHref.length; i++) { doc.write(''); } diff --git a/test/Microsoft.AspNet.Mvc.FunctionalTests/Compiler/Resources/MvcTagHelpersWebSite.MvcTagHelper_Home.Link.html b/test/Microsoft.AspNet.Mvc.FunctionalTests/Compiler/Resources/MvcTagHelpersWebSite.MvcTagHelper_Home.Link.html index 9c4e58721b..76fee781c2 100644 --- a/test/Microsoft.AspNet.Mvc.FunctionalTests/Compiler/Resources/MvcTagHelpersWebSite.MvcTagHelper_Home.Link.html +++ b/test/Microsoft.AspNet.Mvc.FunctionalTests/Compiler/Resources/MvcTagHelpersWebSite.MvcTagHelper_Home.Link.html @@ -37,27 +37,27 @@ - + - + - + - + - + - +