引起history变化的动作有三类:
页面点击链接,js控制location.href跳转等,我们给这类起名为硬跳转
pushState
replaceState
引起当前位置在表中的变化有两种: 前进、后退
硬跳转:
1)history 表如上,通过回退的方式使当前 url 在 2 处
2)触发硬跳转,history变为如下:
当前位置为 3 ,url为硬跳转的链接
页面:
1)立即变化
2)接下来的前进后退,页面按 history 中的url顺序变化
pushState:
1)history 表如上,当前位置在 2 处,触发pushState方法
2)history 表如下:
当前位置为 3 ,url为push进来的链接
页面:
1)不会立即变化,还是 2
2)接下来的前进后退,1与2都会正常加载页面,但当url到3 时,页面仍是 2,这里没有找到原因,存疑!!!!!
replaceState:
1)history 表如上,当前位置在 2 处,触发 replaceState 方法
2)history 表如下:
当前位置在 2 处,且 url 为 replace 进来的 新url
页面:
1)页面不会立即变化
2)接下来的前进后退,页面按 history 中的url顺序变化
popstate:
需要注意的是,仅仅调用popstate方法或replaceState方法 ,并不会触发该事件,只有用户点击浏览器倒退按钮和前进按钮,或者使用JavaScript调用back、forward、go方法时才会触发。另外,该事件只针对同一个文档,如果浏览历史的切换,导致加载不同的文档,该事件也不会触发。
1.js中历史网页中怎么把上一个页面换成另一个页面js是没有更改浏览历史url和获取从上一页开的url地址的,您可以使用window.location.replace(url);来重置浏览历史,
window.location.replace不在浏览器中保存跳转前的网址,因此按返回键将无效;
例子:
有 3个jsp页面(1.jsp, 2.jsp, 3.jsp),进系统默认的是1.jsp ,当我进入2.jsp的时候, 2.jsp里面用window.location.replace("3.jsp");与用window.location.href("3.jsp");从用户界面来看是没有什么区别的,但是当3.jsp页面有一个“返回”按钮,调用 window.history.go(-1)wondow.history.back();方法的时候,一点这个返回按钮就要返回2.jsp页面的话,区别就出来了,当用window.location.replace("3.jsp");连到3.jsp页面的话,3.jsp页面中的调用 window.history.go(-1)wondow.history.back();方法是不好用的,会返回到1.jsp 。当用window.location.href("3.jsp");连到3.jsp页面的话,3.jsp页面中的调用 window.history.go(-1)wondow.history.back();方法是好用的,会返回2.jsp。因为window.location.replace("3.jsp");是 不向服务器发送请求的跳转,而window.history.go(-1)wondow.history.back(); 方法是根据服务器记录的请求决定该跳到哪个页面的,所以会跳到系统默认页面1.jsp 。window.location.href("3.jsp");是向服务 器发送请求的跳转,window.history.go(-1)wondow.history.back(); 方法是根据服务器记录的请求决定该跳到哪个页面的,所以就可以返回到2.jsp。
2.javascript怎么设置historyhistory -- history用于窗体中的导航
history,中文"历史"
history对象是window对象的属性
浏览者通常可以使用浏览器的前进与后退按钮访问曾经浏览过的页面。JavaScript的history对象记录了用户曾经浏览过的页面,并可以实现浏览器前进与后退相似的导航功能
可以通过back函数后退一个页面,forward函数前进一个页面,或者使用go函数任意后退或前进页面,还可以通过length属性查看history对象中存储的页面数
history对象函数
JavaScript history.go() 函数
说明:前进或后退指定的页面数
JavaScript history.back() 函数
说明:后退一页
JavaScript history.forward() 函数
说明:前进一页
history对象属性
JavaScript length 属性 --history对象中缓存了多少个URL
示例
history.length
3.如何修改浏览器的JavaScript选项在IE8里(不知IE6或IE7是否一样,不过大体上是差不多的)1.进入“Inter选项”如果不知道怎么进入,打开IE,按住键盘的“Alt”键(就在空格键的旁边)然后会看到“地址栏”的上面或下面会出现一个菜单栏,里面有:文件、编辑、查看等选项。
单击“工具”那里,然后在d出来的下拉菜单里,单击“Inter选项”2.进入“Inter选项”后,会看到一个大框,注意看最上面,会发现这样几个选项卡:常规、安全、隐私、内容。单击“安全”,会看到,下方的内容改变了3.通过刚才那步进入了“安全”选项卡之后,先确保是“Inter”这一项被选中(就是那个“地球”),然后把注意力转到下方。
在最下面,有三个按钮:确定、取消和应用。在它们上面,可以找到一个名叫:“自定义级别”的按钮,单击它。
4.又一个框d出来了,可以看到有一堆设置。把竖着的那个滚动条慢慢往下拽,直到找到“脚本”这一选项,它的位置应该是在中间偏上,在ActiveX选项的下面。
(这一步要有点耐心,未必能一下就找到的)5.再把滚动条稍微往下拽一点,看到有一项叫做:“活动脚本”。它下面有一个单选框,有这样三种选择:禁用、启用、提示。
单击“启用”。然后点整个框框最下面的“确定”。
然后再点“Inter选项”框的“确定”。应该就OK了如果还有哪里说的不太明白,您就在问题补充里再提出来吧,如果满意的话,要给分哦,谢谢您了。
4.如何用JS实现修改浏览器地址有两种方法
1.把悄悄的跳转写到a页面,b页面d出后a页面马上跳转到c页面。
a页面代码:
&lta href="#" onclick="opennew"&gta页面的超链接&lt/a&gt
&ltscript type=text/JavaScript&gt
function opennew{
window.open('" target="_blank" &gta页面的超链接&lt/a&gt
b页面代码:
&ltscript type=text/JavaScript&gt
function opennew{
window.opener.location=''//a页面跳到谷歌
}
&lt/script&gt
&ltbody onl oad="opennew"&gt
这样是在b页面加载完毕后执行opennew()方法,使a页面跳转。你可以在b页面其他地方触发事件,调用opennew()方法
&lt/body&gt
hash模式是监听 hashchange 事件来实现的。
hash是监听 popstate 事件来实现的,但有点小问题需要处理一下。
history.replaceState 和 history.pushSstate 不触发 popstate 事件,这个问题可以自定义一个方法来实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)