From 415a39ea17f9944f6679bf4a7489427d49248570 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Sat, 5 Dec 2015 14:53:33 -0800 Subject: [PATCH] Make code-uri more robust --- client/commonFramework/code-uri.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/client/commonFramework/code-uri.js b/client/commonFramework/code-uri.js index 3051c12bd2..fefe45e0fe 100644 --- a/client/commonFramework/code-uri.js +++ b/client/commonFramework/code-uri.js @@ -15,6 +15,7 @@ window.common = (function(global) { replaceFccfaaAttr } = common; + const queryRegex = /^(\?|#\?)/; function encodeFcc(val) { return replaceScriptTags(replaceFormActionAttr(val)); } @@ -40,9 +41,7 @@ window.common = (function(global) { return false; } return decoded - .split('?') - .splice(1) - .pop() + .replace(queryRegex, '') .split('&') .reduce(function(found, param) { var key = param.split('=')[0]; @@ -62,7 +61,11 @@ window.common = (function(global) { .split('&') .reduce(function(oldValue, param) { var key = param.split('=')[0]; - var value = param.split('=')[1]; + var value = param + .split('=') + .slice(1) + .join('='); + if (key === keyToFind) { return value; } @@ -127,7 +130,7 @@ window.common = (function(global) { enabled: true, shouldRun() { return !this.getKeyInQuery( - (location.search || location.hash).replace(/^(\?|#\?)/, ''), + (location.search || location.hash).replace(queryRegex, ''), 'run' ); }