The root cause is not clear, but the problem was traced to the following code:
var returnURL = window.location;
if ("" == returnURL.hash) {
returnURL.hash = "icemobilesx";
It appears that window.location is being used by reference rather than value, so operating on the hash code causes a subsequent window.location change to fail. The solution is to revert to an earlier implementation that was more verbose but functional:
var returnURL = "" + window.location;
if ("" == window.location.hash) {
var lastHash = returnURL.lastIndexOf("#");
if (lastHash > 0)
{
returnURL = returnURL.substring(0, lastHash);
}
returnURL += "#icemobilesx";
The root cause is not clear, but the problem was traced to the following code:
{ returnURL = returnURL.substring(0, lastHash); }var returnURL = window.location;
if ("" == returnURL.hash) {
returnURL.hash = "icemobilesx";
It appears that window.location is being used by reference rather than value, so operating on the hash code causes a subsequent window.location change to fail. The solution is to revert to an earlier implementation that was more verbose but functional:
var returnURL = "" + window.location;
if ("" == window.location.hash) {
var lastHash = returnURL.lastIndexOf("#");
if (lastHash > 0)
returnURL += "#icemobilesx";