例如,当前页面是www.google.com.但是我在地址栏中输入了一个不同的网址,然后点击了.该站点具有完整的GWT代码.
但我想回到www.google.com的上一页.所以我点击了浏览器的后退按钮.但是如何从当前的GWT代码中获取后退按钮的事件.我可以在当前页面的GWT中设置任何后退事件处理程序吗?一个通知我按下后退按钮的警报.
GWT有什么解决方案吗?
我有一个网站,它使用带有 pushState() 方法和 onpopstate() 处理程序的 ajax 导航。
第一次访问主页时,我显示默认内容(没有 ajax)。
当有人导航离开默认页面然后“返回”时,当他们应该返回到默认页面时会提供一个空状态。因此,它们停留在网站的第二页而不是第一页(尽管处理程序可以轻松使用 ajax 将初始内容带回来)。
我解决这个问题的唯一方法是在我的初始页面加载上做一个 pushState,其中包含有关初始内容是什么的信息。使用这种方法,“后退”按钮效果很好!
但是,如果有人在访问我的网站之前访问了 www.stackoverflow.com,则会“返回”到 stackoverflow,然后再次“转发”到我的网站,会显示初始内容,但由于“弹出”状态为,然后再次重新加载不为空。
所以我可以告诉,在 onPopState() 处理程序中,用户是向后还是向前?
所以我很关心
webdriver.navigate().back();
Run Code Online (Sandbox Code Playgroud)
特别是.之后阅读网页浏览器中的"后退"按钮如何工作?
它让我想到如何确保后退按钮按预期运行?
这是进行"后退"导航的不同方式.您将如何检测使用哪种方法?听听POST或GET是否正在制作?听取AJAX请求并制定适当的计划?
a) navigate back() (essentially hitting back button in firefox)
b) make GET request to the previous page url
c) click on "return to results" on current page
Run Code Online (Sandbox Code Playgroud)
a)back()有时无法正常运行没有面包屑的AJAX网站.或者对于POST搜索结果,例如按下后将提示警报消息.
与b)我担心的是网址可能不匹配,
ex)具有唯一哈希sessionid参数的动态URL
http://www.aa.com/results.php?sessionid=29756293changeseverytime
那么我如何创建一个意外事件来确保后导航按预期正常运行各种Web应用程序和站点(后退按钮的行为方式有很多变化).
我正在开发 chrome 扩展,它将替换新的选项卡 UI 我能够检索已安装的应用程序信息。但是我无法检索访问量最大和最近的 cloed 标签信息..
我的 manifest.json
{
"name": "Cloud Tab",
"version": "1.0",
"description": "New Tab with cloud UI.",
"background_page": "background.html",
"permissions": [ "tabs","management","topSites",
"chrome://favicon/"],
"chrome_url_overrides": {
"newtab": "CloudTab.html"
}
}
Run Code Online (Sandbox Code Playgroud)
我的 CloudTab.html 页面的脚本标签包含
chrome.topSites.get(function(info){
for(var i=0;i<info.length;i++) {alert(info[i].url);}
});
Run Code Online (Sandbox Code Playgroud)
但我收到错误 > Uncaught TypeError: Cannot call method 'get' of undefined 我已经为此参考了 google 的 api 但没有运气我运行 chrome 的版本 13.0.782 有什么建议吗?
我知道我使用history对象访问浏览器历史记录,具体来说,我可以使用history.back();,history.forward();和history.go(item-number)(或history.go(url))。我试图确定用户当前在浏览器历史记录中的位置。
例如,Firefox 可能支持访问历史记录中的单个 url,但这不是我想要的,因为 20 个 url 的历史记录可能包含重复的 url。
请注意,我对项目中的历史记录不感兴趣——而是对任何用户会话中的浏览器历史记录感兴趣。
例如,用户打开浏览器并浏览了 20 个页面 - 因此历史记录包含 20 个对象。然后用户点击返回按钮 4 次 - 并在 20 页的第 16 页(或者更确切地说是 0..19 页的第 15 页)结束。有什么方法可以使用 JavaScript 获得当前的偏移量(16 或 15)?如果是,那么如何?
我第一次考虑开发一个谷歌浏览器扩展;没有以前的经验。我想到的扩展必须能够查看用户的浏览历史记录并提供他们访问某个网站或该网站内的任何子目录的最早实例的 URL。
例如,用户的浏览历史可以是:
8:58 - http://mysite.com/page/page1.html
8:59 - http://mysite.com/test/index.php
9:00 - http://google.com
9:01 - http://google.com/?q=mysite
9:03 - http://mysite.com/this/info.html
9:04 - http://mysite.com/this/info2.html
9:05 - http://mysite.com/this/info3.html
9:06 - http://facebook.com
Run Code Online (Sandbox Code Playgroud)
在这种情况下,假设应用程序正在寻找访问http://mysite.com或任何子目录的实例。(这将在扩展代码本身中指定;它不是由用户设置的。)扩展将查找对http://mysite.com 的最近访问“组”,在这种情况下:
9:03 - http://mysite.com/this/info.html
9:04 - http://mysite.com/this/info2.html
9:05 - http://mysite.com/this/info3.html
Run Code Online (Sandbox Code Playgroud)
从该组中,它将选择最早的条目,并显示该 URL,在本例中为:
9:03 - http://mysite.com/this/info.html
Run Code Online (Sandbox Code Playgroud)
一直在查看有关在扩展中使用历史记录的 Google 文档(http://developer.chrome.com/extensions/history.html),但我认为我在该文档页面上找不到我要查找的内容...
想知道是否有人可以在正确的方向上推动我?
谢谢!
我寻遍SO这个问题已经被 问 前 几 次,但是我发现没有答案,解释如何我想实现的行为实际上是实现了.
我想到的是模仿booking.com功能,当你从搜索结果列表中打开搜索结果时,会出现一个div,表示结果已在另一个选项卡(或窗口)中打开,并且当它崩溃时其他标签(或窗口)已关闭.
截图: 
第一次尝试是检查某些javascript是否已附加到链接,但事实并非如此,因为如果您只是从页面源复制URL并打开它,则该功能可以正常工作.
所以我认为它可以在服务器端管理,启动wireshark尝试捕获两个打开的页面和服务器之间的任何ajax调用.有很多请求,但似乎没有人传递所需的信息(我想酒店ID或一些网址).另请注意,在隐身窗口或其他浏览器(我的意思是,firefox而不是chrome)窗口中打开结果项URL(包括会话ID)会破坏该功能; 这样就排除了任何会话或IP地址跟踪.
我可以想到的最后一次尝试是搜索结果页面正在轮询一些cookie,该cookie在打开另一个页面时在域上设置,并在关闭时取消设置.所以我检查了一些cookie,其内容实际上有点神秘,但我所看到的是,在其他标签打开和关闭时实际上没有更改cookie,所以,再次,它不能以这种方式完成.
还剩什么?
我正在为我的SPA 使用路由,Angularjs但我必须支持IE7(和IE7在IE7兼容模式下).我希望浏览器历史记录仍然可用.我不在乎是否必须使用jQuery插件.
internet-explorer-7 browser-history hashchange jquery-bbq angularjs
假设我想实现浏览器历史功能。如果我第一次访问该 url,它会进入历史记录,如果我再次访问同一页面,它会出现在历史记录列表中。假设我只显示前 20 个站点,但我可以选择查看上个月、上周等的历史记录。
最好的方法是什么?我会使用哈希图来插入/检查它是否更早被访问过,但是我如何有效地对最近访问过的进行排序,我不想使用树图或树集。另外,我如何存储周和月的历史记录。浏览器关闭时是否写入磁盘?当我点击清除历史记录时,数据结构是如何被删除的?
嗨有以下jQuery事件:
listItems.on('click', function(ev) {
ev.preventDefault();
reload = true;
var url = jQuery(this).attr('data-url');
history.pushState({}, '', url);
...
}
Run Code Online (Sandbox Code Playgroud)
其中加载通过AJAX动态内容,并推动历史的国家,从修改浏览器的URL www.domain.com来www.domain.com/page-x.通过AJAX加载内容的唯一原因是我需要动画页面过渡.如果你去找www.domain.com/page-x你正常的HTML页面.
如果单击listItem用户单击其浏览器上的后退按钮后,会出现此问题.网址会更改www.domain.com/page-x为www.domain.com,但页面不会重新加载.这就是我添加此事件的原因:
window.onpopstate = function() {
if (reload == true) {
reload = false;
location.reload();
}
}
Run Code Online (Sandbox Code Playgroud)
如果当前页面是通过AJAX加载的,它会在url更改后重新加载页面.它工作正常,但现在我有其他问题:
任何想法/解决方案都将受到高度赞赏.
browser-history ×10
javascript ×4
html ×3
ajax ×1
angularjs ×1
api ×1
browser-tab ×1
firefox ×1
get ×1
gwt ×1
hashchange ×1
history.js ×1
jquery-bbq ×1
navigation ×1
post ×1
selenium ×1