问题标签 [tabbed-browsing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
227 浏览

javascript - 选项卡式浏览导致 Javascript 不一致?

在选项卡式浏览器(对我来说是 FF 3.5)中,我经常使用 CTRL 键单击或中键单击在新选项卡中打开链接。当链接包含 Javascript 函数时,可以:

  • 一个空白的新标签会在地址栏中打开,javascript:window.print()或者你有什么。
  • 该函数成功执行打开一个空白的新选项卡。

问题是,对于所有 Javascript 函数,这似乎并没有始终如一地发生。例如:

  1. 此页面上的“打印”按钮,当按住 CTRL 键单击时,会打开一个打印对话框并生成一个空的新选项卡。
  2. 此页面上的白皮书链接,当按住 CTRL 键单击时,只会生成一个空的新选项卡。

有问题的链接分别包含以下代码:

  1. javascript:window.print();
  2. javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')

这个 SO question有点相似。评价最高的答案详细介绍了基于 AJAX 的解决方案,但我无法解释为什么某些 Javascript 函数在选项卡上的行为与其他函数不同。

0 投票
1 回答
2462 浏览

c++ - 使用 C++ XPCOM 扩展访问 Firefox 上的选项卡

我应该使用哪些 XPCOM 接口来检测选项卡的打开、关闭和切换,并从 firefox 扩展中获取它们的关联 URL?我已经看到了在 JS 中管理选项卡的代码实例,但是 C++ 呢?

0 投票
2 回答
3035 浏览

asp.net-mvc - 会话和选项卡式浏览 ASP.Net MVC

我再次进入选项卡式浏览和会话的世界。查看一些谷歌搜索似乎没有一个很好的方法来支持这一点。

有谁知道允许书签而不窃取会话(无cookie)的方法(这在MVC2中不适用于数据注释)。

以这样的方式支持选项卡,即每个用例(如 Windows 工作流)一次通过两个工作流。

我在想查询字符串中的 url 可能支持这一点,但我想知道是否有其他人做过类似的实现。

[编辑] 用例:假设我正在编写一个使用类似 Windows 工作流的应用程序。每个 UI 工作流都可以执行一个操作,例如收集页面的设置并执行一些外部流程。我可能希望一次执行其中两个工作流程(不一定是相同的 UI 工作流程)。因此,如果我在会话中保存,我会得到:

a) 不同的选项卡会干扰工作流程 b) 由于 a),上一个/下一个按钮将非常难以处理。

我也希望这样,用户不能打开另一个选项卡到 url(不要认为有 100% 的方法可以防止这种情况),或者允许用户单独使用 UI 工作流而不影响另一个(很像在两个不同的浏览器中运行两个工作流)。

希望这能说明我正在尝试做什么。

问候,J

0 投票
1 回答
853 浏览

php - php Sessions,选项卡式浏览解决方案?

所以,大约 6 年前我写了一些软件,即将发布 2.0 版。最近,人们一直在抱怨一个客户的数据已转移到另一个客户。罪魁祸首 - 使用打开多个选项卡,但浏览器共享一个会话。(我得到一个“哦,顺便说一句,这已经发生了一段时间了......”)

幸运的是,我在发布 2.0 之前就已经知道了。我的解决方案是在登录时创建一个随机 session_name。然后此名称会不断发布或访问应用程序中的其他页面。它工作得很好。缺点是有人可以查看源代码并看到类似<input type="hidden" name="session" value="LSDT2341335054" />的内容,更不用说生成的报告(使用 GET)将在 url 中显示“&session=LSDT2341335054”。

这是一个非常快速的解决方法,效果很好,但我找不到更好的方法。我一个人工作,所以没有任何类型的魔鬼拥护者。除了有点草率之外,他们对这种方法有什么真正的风险吗?仅仅因为我看不到这个问题,并不意味着它们不存在。

谢谢,戴夫

0 投票
2 回答
7788 浏览

google-chrome - 在 Chrome 中保存浏览会话

这不是一个编程代码问题,更多的是浏览器用户体验问题。我知道在 Firefox 和 Opera(可能是 Safari?)中,您可以保存当前的浏览会话,以便在退出应用程序时打开(我现在用 Mac 术语说话)。

据我所知,在 Chrome 中做到这一点并不容易。我打开了大约 30 个标签,我需要重新启动计算机……我不想丢失所有的浏览数据(为所有这些页面添加书签会丢失该会话的历史……而且这很麻烦)。如果我可以保存多个可以异步加载的会话,就像 Opera 一样,那就太好了。

是否有某种解决方法可以在 Chrome 中保存浏览会话?

0 投票
1 回答
366 浏览

komodo - 如何在 Komodo Edit 环境中获得多行标签栏支持?

鉴于总是打开很多很多 Komodo 编辑选项卡,我希望有一个解决方案来调整选项卡栏布局以支持多行选项卡。

是否有任何插件可以为 Komodo 编辑环境添加多行选项卡支持(类似于 Firefox 的 TooManyTabs 插件)?

0 投票
1 回答
736 浏览

asp.net - 将用户限制在单个窗口中

在我正在处理的项目(ASP .Net 3.5 Web 表单)中,需要限制用户一次只能在 1 个窗口/选项卡中工作。我发现这篇文章详细介绍了一个解决方案:http: //www.codeproject.com/KB/aspnet/MultipleTabWindows.aspx

但是,在我的项目的一个页面中,需要在新窗口中打开私人(与登录用户相关)pdf 文档。我这样做的方式是向我的项目内部的一个页面构建一个请求,然后从该页面流式传输 pdf 文档。所以,我的文档的 url 看起来像:http://localhost:4087/PdfPage.aspx?type=1&id=2

:有没有办法绕过仅针对 pdf 页面的“单一窗口”规则,或者我应该说“不,唯一的方法是在同一个窗口中打开 pdf”?

提前致谢

0 投票
2 回答
1402 浏览

delphi - 如何从桌面应用程序关闭浏览器的当前选项卡?

我正在开发一个包含在桌面(Windows)中运行的程序的系统。

每分钟检测活动程序是否是浏览器,在这种情况下检查活动选项卡的 url 是否在“黑名单”中

在这种情况下,我想关闭浏览器的当前选项卡。我现在正在做的是杀死浏览器进程,这意味着带有不在黑名单中的 url 的选项卡也被关闭了。

为了检测活动选项卡的 url,我正在使用How to get the url from Chrome using delphi中的解决方案

我正在使用 Delphi 7,但任何语言的解决方案都将不胜感激。

0 投票
2 回答
1067 浏览

javascript - firefox plugin - 如何隐藏标签浏览器并获取其内容

我正在为 Firefox 开发一个插件。我必须在其中打开一个隐藏选项卡并通过 javascript 访问其内容,然后将其关闭。

以下是我用于访问选项卡内容的代码:

如何在浏览器中隐藏此选项卡?

0 投票
2 回答
309 浏览

.net - 回发之间的会话变量不匹配

我正在存储一个会话变量,我用它作为参数传递给各种数据访问调用。此变量在首次创建会话时设置,用户可以根据他们有权访问的资源进行更改。例如,当用户第一次登录时,他们的默认会话值可能设置为“1”。在页面的右上角是他们可以访问的所有选项的下拉列表,更改此选项会更改会话变量... 1、2、3、4...等。

问题是由于以下原因之一,此会话变量可能会在回发之间发生变化:

  1. 会话超时,导致会话重新创建自己,默认值为 1
  2. 用户打开两个选项卡/浏览器窗口并在一个选项卡上更改它,然后切换回另一个使用“1”作为值呈现的页面

这会导致页面上的控件变得“陈旧”并且回发行为不正确。在其事件处理程序中依赖于会话变量的按钮单击事件可能不是“预期”事件,并且界面具有误导性。

我想要做的是确定会话变量的值是否在回发之间发生了变化,以及它是否已重定向回同一页面,导致它使用新的会话变量值重新呈现,并为用户提供清楚地表明每个回发实际上做了什么。

有任何想法吗?