2016-06-22 6 views
0

Я пытаюсь перенаправить URL-адрес, содержащий параметр запроса next, который сам является URL-адресом, который содержит идентификатор фрагмента. Вот код JavaScript Я пробовал:Ввод идентификатора фрагмента внутри параметра запроса

window.location.href = "/gauth?next=" + window.location.pathname + "#onload=exportToDrive" 

Просто, чтобы сделать себе ясно, то #onload=exportToDrive должен принадлежать next URL пути (не адрес, который браузер перенаправлении). Как я могу указать эту информацию в браузере, чтобы она правильно справилась с этой ситуацией?

+0

В общем, все значение параметра 'next' должно быть закодировано в URL с помощью чего-то вроде [' encodeURIComponent() '] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Справочник/Global_Objects/encodeURIComponent). – robertklep

+0

@robertklep Работал как шарм! Спасибо! Если вы хотите сделать свой комментарий в ответ, я бы с радостью предоставил вам ответ и принятый ответ :). – pzp

ответ

1

Вы всегда должны кодировать значения параметров URL правильно, используя функцию как encodeURIComponent:

window.location.href = "/gauth?next=" + encodeURIComponent(window.location.pathname + "#onload=exportToDrive"); 

Это будет гарантировать, что любые идентификаторы фрагмента (а также запросить параметры строки) не будет применяться к /gauth.