javascript 导致许多站点重定向到 404 的函数
javascript function that causes a redirect to 404 on many site
为什么会出现 404 错误
(function(){
var getownProperties = Object.keys(window);
var propsLen = getownProperties.forEach(function(e,i,a){
window[e] = undefined;
});
})()
当您遇到 window.location = undefined
的情况时,您正在使用 API 打开另一个 URL。在这种情况下,undefined
将被解释为字符串,字符串 'undefined'
,从当前页面变为相对 URL ./undefined
。
如果你在 http://example.com, window.location = undefined
redirects to http://example.com/undefined 上试试这个。在大多数域上,这可能是一个 non-existent 页面,因此是 404,在其他域上,您可能会触发一些其他行为。
您实际上无法替换全局属性的 many/most,因为它们是作为 non-configurable 属性 设置器实现的(这意味着一个函数将处理您尝试的分配,在这种情况下window.location
触发重定向)。例如:
const foo = {
set bar(value) {
console.log("You can't replace me so easily,", value);
}
};
foo.bar = 'baz';
为什么会出现 404 错误
(function(){
var getownProperties = Object.keys(window);
var propsLen = getownProperties.forEach(function(e,i,a){
window[e] = undefined;
});
})()
当您遇到 window.location = undefined
的情况时,您正在使用 API 打开另一个 URL。在这种情况下,undefined
将被解释为字符串,字符串 'undefined'
,从当前页面变为相对 URL ./undefined
。
如果你在 http://example.com, window.location = undefined
redirects to http://example.com/undefined 上试试这个。在大多数域上,这可能是一个 non-existent 页面,因此是 404,在其他域上,您可能会触发一些其他行为。
您实际上无法替换全局属性的 many/most,因为它们是作为 non-configurable 属性 设置器实现的(这意味着一个函数将处理您尝试的分配,在这种情况下window.location
触发重定向)。例如:
const foo = {
set bar(value) {
console.log("You can't replace me so easily,", value);
}
};
foo.bar = 'baz';