是否有一种方法可以告诉我们国家将朝着什么方向发展?
Is there a way to tell what direction the state is going with history.js?
就像标题所说的那样,如果调用pushState
函数而不是back
函数,我希望能够执行不同的onstatechange
事件。或者go
函数为负或正
的例子:
如果History.pushState()
或History.go(1)
被调用,我希望statechange
事件的回调是forwardPushState
如果History.back()
或History.go(-1)
被调用,我希望statechange
事件的回调是backwardsPushState
状态是与页面相关的一些数据(正如用户在浏览器中看到的那样)。如果用户想要进入某个页面,这个页面是一样的,他要么点击后退按钮,要么点击前进按钮。
PushState向栈中推送一个新状态。与back
和go
没有关系。Back
和go
是在堆栈中的push状态中导航的函数。我这么说是因为在你的编辑中,看起来你认为pushState和go(1)是等价的。
也许如果你想知道用户从哪个方向来,你应该分析onstatechange
事件,知道它是否需要任何存储方向的参数,这不是一项微不足道的任务。
我认为主要的事情是,它与go (-1)
或go(1)
或back
没有关系。
也许这对你有用。
<html>
<body onunload="disableBackButton()">
<h1>You should not come back to this page</h1>
</body>
<script>
function disableBackButton()
{
window.history.forward();
}
setTimeout("disableBackButton()", 0);
</script>
</html>
上面的代码将使使用后退按钮加载此页面变得困难。
第二次尝试
下面的代码来自另一个堆栈溢出。
在浏览器中检测返回按钮点击
window.onload = function () {
if (typeof history.pushState === "function") {
history.pushState("jibberish", null, null);
window.onpopstate = function () {
history.pushState('newjibberish', null, null);
// Handle the back (or forward) buttons here
// Will NOT handle refresh, use onbeforeunload for this.
};
}
else {
var ignoreHashChange = true;
window.onhashchange = function () {
if (!ignoreHashChange) {
ignoreHashChange = true;
window.location.hash = Math.random();
// Detect and redirect change here
// Works in older FF and IE9
// * it does mess with your hash symbol (anchor?) pound sign
// delimiter on the end of the URL
}
else {
ignoreHashChange = false;
}
};
}
}
相关文章:
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 州和城市选择框类似于国家细分页面
- 为什么不'我们在javascript中使用函数参数的数据类型
- 显示每个国家的传单地图
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- Possibile使用Manifest v2下的HTML5地理位置API将lat/long转换为国家/地区
- Html/Javascript-如何屏蔽除英国以外的所有欧盟国家,并允许所有非欧盟国家
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 我们怎样才能将内含子J用于一组特定的元素
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 我们如何在dailymotion播放器的新测试版中播放youtube视频
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 我们可以为Cesium中使用CZML绘制的多边形设置outlineWidth属性吗
- 我们如何使用 jQuery 通过 IP 地址获取国家/地区名称
- 是否可以获取我们在系统时区中选择的国家/地区名称.我们可以得到偏移量(如 5.5)但是如何获取国家名称
- 是否有一种方法可以告诉我们国家将朝着什么方向发展?