From 52916d78001881b8b78409cc2899d9b102f0b866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=8A=B9=EC=9B=90?= Date: Sat, 9 Feb 2019 02:28:56 +0900 Subject: [PATCH] [fix] syntax error of non-english character (#2042) * Dear the make of one of the world's greatest jekyll theme. [problem] I found that 'Syntax Error' occurs when non-english character is included in some html elements(e.g h2, h3 ...) and 'toc' is generated based of that elements. [debug] Click the any element of auto generated 'toc' in the below link. https://aliwo.github.io/swblog/series/principles_of_python/object/#%EA%B0%9D%EC%B2%B4%EC%99%80-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-%EC%A0%95%EC%9D%98 [fix] This happens because escaped url string get right in to jquery. So I fixed it with javascript's 'decodeURI' function! :) * rollback unnecessary changes --- assets/js/_main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/_main.js b/assets/js/_main.js index acfb9f5..f2414d1 100644 --- a/assets/js/_main.js +++ b/assets/js/_main.js @@ -59,7 +59,7 @@ $(document).ready(function() { var smoothScrolling = false; $(window).bind("popstate", function (event) { $.smoothScroll({ - scrollTarget: location.hash, + scrollTarget: decodeURI(location.hash), offset: -20, beforeScroll: function() { smoothScrolling = true; }, afterScroll: function() { smoothScrolling = false; } @@ -103,7 +103,7 @@ $(document).ready(function() { if (top <= scrollTop && scrollTop < bottom) { // Mark all ancestors as active links[i].link.parents("li").children("a").addClass('active'); - if (links[i].href !== location.hash) { + if (links[i].href !== decodeURI(location.hash)) { history.replaceState(null, null, links[i].href); } return; -- 2.43.0