是否有像查询字符串hashchange事件?
我一直使用哈希在页面之间传递数据(如设置scrollTop()
等),并且还使用hashChange
事件触发给定页面上的更改。
但是,哈希具有我不一定感兴趣的默认行为,如使页面跳转到给定(有时不重要)的位置。
我觉得要设置一个查询字符串会更合乎逻辑,但是:
是吗?
查询字符串设置时是否有可以侦听的事件?
是否有我应该了解的与查询字符串相关的行为?
id
元素执行scrollIntoView()
,但对于<a name="xxx">
)有一个专门的行为。 所以,答案是肯定的,页面参数应该通过querystring传递。 window.beforeunload
,是的,当javascript:void(location.search='some')
已被设置时,页面重新加载 另外,使用querystring:http://xkr.us/js/querystring
正如其他答案所说,更改查询字符串将导致页面重新加载。 就浏览器而言,您将进入一个全新的页面。
有这样的事情会发生。 'beforeunload'事件会触发,但它不会非常有用,因为当用户点击链接或关闭窗口时它也会触发。
有效地,如果更改查询字符串,将触发的事件将成为加载的新页面上的加载事件。
这取决于你在做什么。
查询字符串更改将始终触发页面重新加载。 在没有页面重新加载的情况下,您可以更改的URL的唯一部分是#部分。
在JavaScript应用程序中,页面加载通常不好。 但是当使用传统的html页面请求/响应模型时可能会使用它。
虽然没有事件AFAIK,因为它会改变页面。
链接地址: http://www.djcxy.com/p/3891.html上一篇: Is there an event like hashchange for query strings?
下一篇: Give me some awesome Web2py Tip & Tricks which makes you more productive