后退/下一个按钮在动态构建的网页(AJAX)
back/next button in dynamically constructed webpage (AJAX)
我的问题是关于在AJAX(动态)网页上使用(浏览器的)后退和下一步按钮。
我自己想出的解决办法:
setInterval(function(){
if (location.hash != hash)
{
hash = location.hash;
app.url = window.location.href.toString().replace('http://xxxxx.nl/xxxx/#!/','')
app.handleURL();
}
}, 500);
该函数每0.5秒读取url(哈希值)并将其与上次存储的url(哈希值)进行比较。如果url已经改变(回/下一个被推),它运行handleUrl(),它运行更多的函数来动态构建我的页面。
的问题是,这种工作,但当我点击一个html [A]元素或当我改变url以其他方式(javascript),该内容将被加载两次,因为setInterval()…功能。我如何构建我的HTML/Javascript,使我的内容总是加载一次,
一次当我push back/next
一旦我点击一个HTML元素/使用Javascript函数运行时
我在谷歌上搜索了一个解决方案,请帮助!
您不需要计时器来检查它。只需使用onhashchange事件,并在事件被调用时触发AJAX调用。这个事件在ie8以下的版本中不支持,所以如果你需要IE支持,你的方法似乎很好。
同样,对于a
元素调用它们两次也没有意义,因为间隔没有理由仅仅因为使用a
元素更改了散列而调用AJAX加载器两次。您可能有一个事件侦听器附加到a
元素,导致它加载AJAX内容,这是不需要的,因为您正在检测散列中的任何更改,无论它是如何更改的。
我建议使用库。制定自己的解决方案将是棘手的。看看这些:
http://www.asual.com/jquery/address/docs/使用示例http://benalman.com/projects/jquery-bbq-plugin/
相关文章:
- AJAX不会在文件上传后重定向到网页-POST方法
- 如何使用httpwebrequest在c#中获得网页(使用ajax/javascript的php)的最终响应
- 使用Javascript解析网页(涉及ajax和jquery)
- AJAX:如何在初始加载时加载内部网页
- 无法使用ajax成功登录网页
- 网页在等待 AJAX 响应时变为非活动状态
- Qt-WebView是否支持包含异步Ajax的网页
- 使用Java脚本跟踪网页中是否有Ajax请求,或者通过Selenium Web驱动程序拦截XMLHttpRequest
- 如何在Arduino提供的ESP8266 HTML网页上使用ajax和setInterval
- Firefox弹出窗口“;这个网页被重定向到一个新的位置“;在每个requestPromise ajax调用上,有什么方
- 使用ajax调用在mysql表更新上重新加载网页
- 无需ajax即可实时更改网页内容
- 如何在打开新网页时中断ajax请求
- Ajax 从另一个网页拉取内容
- 如何在不使用 PHP/AJAX 重新加载网页的情况下自动更新内容
- 如何在不刷新页面的情况下将“HTML 选择值”发送到另一个使用 ajax 的网页
- 通过 ajax 调用将网页的内容访问到当前网页中
- 在 html 中嵌入外部网页,而不使用 iframe/ajax
- Ajax 请求冻结网页
- 后退/下一个按钮在动态构建的网页(AJAX)