2016-06-22 6 views
0

nextというクエリパラメータを含むURLパスにリダイレクトしようとしています。これは、それ自体がフラグメント識別子を含むURLパスです。ここに私が試したJavaScriptコードは次のとおりです。クエリパラメータの中にフラグメント識別子を入れる

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

ただ、自分自身を明確にするために、#onload=exportToDrivenext URLパス(ないブラウザはにリダイレクトされるURL)に属している必要があります。この状況を正しく処理できるように、ブラウザにその情報を指定するにはどうすればよいですか?

+0

一般に、 'next'パラメータの値全体は、[' encodeURIComponent() '](https://developer.mozilla.org/en-US/docs/Web/JavaScript)のようなものでURLエンコードする必要があります/ Reference/Global_Objects/encodeURIComponent)。 – robertklep

+0

@robertklepチャームのように働いた!本当にありがとう!あなたが答えにあなたのコメントをしたい場合、私は喜んでupvoteと受け入れられた答え:)を与えるだろう。 – pzp

答えて

1

あなたはいつもencodeURIComponentのような機能を使用して、適切にURLパラメータ値をエンコードする必要があります。

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

これは、任意のフラグメント識別子(だけでなく、クエリ文字列パラメータが)/gauthには適用されないことを保証します。

関連する問題