今儿个咱来聊聊这个方法,这可是个跳转页面的好手。
我以为这玩意儿跟直接改没啥区别,不都是跳页面嘛后来我一琢磨,发现这里头还有点门道。
实践开始:
我先是打开浏览器,打开开发者工具。然后在一个页面里头,直接在控制台敲这么一句:
*("新的页面")
回车一敲,页面立马就跳过去,跟效果一样。这还不算完,我点下浏览器的“后退”按钮,又能回到原来的页面!
这就说明说明assign()
方法是把新的页面地址给加到浏览历史里头,所以咱才能“后退”。
光说不练假把式,咱得再试试别的。
继续探索:
- 我又试试这个方法,发现它也能跳转,但是!重点来,我点“后退”按钮,回不去!
这是为啥?
后来我查查资料才知道,replace()
是把当前的页面地址给替换掉,也就是说,原来的页面在历史记录里头就没,所以你就回不去。
这么一比,assign()
和replace()
的区别就清楚:
assign()
会把新页面加到历史记录里,你能“后退”回去。replace()
是直接替换掉当前页面,历史记录里没有原来的页面,你“后退”不回去。
所以说,以后咱要跳转页面的时候,还得根据实际情况来选择用哪个方法。要是希望用户能“后退”,那就用assign()
;要是不想让用户“后退”,那就用replace()
。
今儿个就分享到这儿,希望对大伙儿有帮助!
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。