Fixed bug in firefox where recipes containing an = character would not load from the URL

This commit is contained in:
n1474335 2017-07-12 12:49:10 +00:00
parent 645e540c66
commit 2555de7712
2 changed files with 12 additions and 2 deletions

View file

@ -1000,9 +1000,14 @@ const Utils = {
if (paramStr === "") return {};
// Cut off ? or # and split on &
const params = paramStr.substr(1).split("&");
if (paramStr[0] === "?" ||
paramStr[0] === "#") {
paramStr = paramStr.substr(1);
}
const params = paramStr.split("&");
const result = {};
for (let i = 0; i < params.length; i++) {
const param = params[i].split("=");
if (param.length !== 2) {

View file

@ -400,7 +400,12 @@ App.prototype.addFavourite = function(name) {
*/
App.prototype.loadURIParams = function() {
// Load query string or hash from URI (depending on which is populated)
const params = window.location.search || window.location.hash;
// We prefer getting the hash by splitting the href rather than referencing
// location.hash as some browsers (Firefox) automatically URL decode it,
// which cause issues.
const params = window.location.search ||
window.location.href.split("#")[1] ||
window.location.hash;
this.uriParams = Utils.parseURIParams(params);
// Pause auto-bake while loading but don't modify `this.autoBake_`