我正在尝试附加到URL,这是一个基于特定条件的查询字符串。我遇到的问题是,以下代码导致页面连续循环:
function taoExtendedIdleTime() {
if (trackingJson.loginType === 'explicit') {
var myURL = window.location;
window.location = myURL + "&debugMode=true&setIdleTime=60000";
}
}
taoExtendedIdleTime();
为了解决这个问题,我尝试了以下方法,检查此查询是否已存在。如果没有,请添加它:
function taoExtendedIdleTime() {
if (trackingJson.loginType === 'explicit') {
var myURL = window.location;
if (myURL.indexOf("&debugMode=true&setIdleTime=60000") == -1) {
window.location = myURL + "&debugMode=true&setIdleTime=60000";
}
}
}
taoExtendedIdleTime();
在我的开发环境中,这根本不会被执行。当我将它添加到控制台时,我收到以下错误:未捕获TypeError:myURL.indexOf不是函数,并引用此代码段的第四行:if(myURL.indexOf ...)。
非常感谢您提供的任何帮助/指导!!
答案 0 :(得分:0)
根据documentation,window.location
是Location
对象(不是String
),因此它没有indexOf
方法。您可能对其search
属性感兴趣。
或者如果你想要更干净,URL.searchParams
可能会有帮助。
答案 1 :(得分:0)
因为您正在尝试获取对象。 window.location将返回Location对象。你要找的是window.location.href
,它会返回当前位置的网址。
function taoExtendedIdleTime() {
if (trackingJson.loginType === 'explicit') {
var myURL = window.location.href;
window.location.href = myURL + "&debugMode=true&setIdleTime=60000";
} }
taoExtendedIdleTime();