对整个location.href字符串进行编码

Encoding the entire location.href string

本文关键字:编码 字符串 href location      更新时间:2023-09-26

我正在使用window.location.href重定向用户。

如果我不将加入字符串中URL参数的&切换到&,则IE7和IE8会抱怨(例如,&reg变成注册商标符号)。

如果我只是把&写成&,我的现代Firefox 24.0不会处理这些参数,因为它只是把它们读成直接的&

如何以使两个浏览器都满意的方式对URL进行编码?encodeURIComponent()只是打破了所有人的一切。

window.location.href = '/ex/mypage.php?MemberID=' + memberID + '&reg=reg&rid=' + return_data + '&YearRegisteringFor=' + regYear;

我会放弃并使用不同的url参数名称。这是IE7/8中的一个已知错误,唯一的修复方法是使用&代替&,正如您所看到的,这会使它在firefox24.0中停止正常工作。

您可以使用浏览器检测,或者可能找到一种方法来检测对使用&reg=的支持,但这远比仅仅更改参数名称更需要维护。