在大多数现代浏览器上,我都可以使用:
history.pushState({}, 'Our Work','/url/path/');
显然IE并不支持这一点,但我想知道为什么我的简单黑客行为不起作用?
history = {
pushState : function(state,title,url) {
window.location = url;
}
};
我也尝试过:
window.history = {
pushState : function(state,title,url) {
window.location = url;
}
};
但是我找不到一个'成员'属性。
IE8甚至可以实现这一点吗?
我真的不想为这个简单的黑客包含一个完整的库,但它很奇怪,因为添加:
if (!window.console) {
console = {
log: function() {},
error: function() {}
};
}
修复我的控制台日志...
任何帮助都会很棒!
答案 0 :(得分:1)
这是因为历史对象确实存在且无法完全替换。
但您可以添加其他方法
所以设置
history.pushState = function(state,title,url){alert(url);};
会做到这一点。