如何强制浏览器仅在特定操作的实例上打开

     2023-05-09     168

关键词:

【中文标题】如何强制浏览器仅在特定操作的实例上打开【英文标题】:How to force browser to open only on instance of particular action 【发布时间】:2011-12-31 10:33:18 【问题描述】:

我正在做一些 ROR 的事情并陷入了一些奇怪的情况。

我希望特定操作应在浏览器窗口或选项卡上一次打开,而不应在多个选项卡上打开。

例如。

如果我在一个标签页打开网站主页,则不应在同一浏览器的另一个标签页打开它。

我想要这个,因为我的页面包含大量数据,如果我在多个选项卡上打开它,那么浏览器会负载过重。所以我想通过一次只允许一个实例来避免这种情况。

我正在使用 导轨 3.0.1 红宝石 1.8.7 jQuery 1.4.4 请帮助:)

【问题讨论】:

如果他们安装了plugin,您可以在客户端级别执行此操作,我已经看到它在服务器端完成但不记得在哪里,将环顾四周 这可能会有所帮助codeproject.com/KB/aspnet/MultipleTabWindows.aspx +1 用于提出一个让人们学习新事物的问题。 【参考方案1】:

不要这样做。永远。

用户有权根据需要打开尽可能多的站点实例,并且您有责任正确处理该问题。你的提议本质上是在剥夺用户的权利,这样你就可以推卸责任。

【讨论】:

同意。但是,如果您发现必须执行此 eViL 操作的情况(没有“从不”之类的说法),请至少在用户采取该操作之前警告用户。 这是一个“从不”。如果您认为必须这样做,那么您的设计就有缺陷,因为您是在与浏览器对抗而不是与它合作。 很抱歉,每个应用程序都有不同的受众和不同的要求。在任何断言中使用“从不”是危险的,因为坦率地说,在任何开发环境中,不灵活都是一个可怕的特征。 我们只需要同意不同意这一点。没有任何原则是不应该被打破的。我挑战你找到一份你可以让每个人都同意的“一般原则”的简明清单。除了公共互联网应用程序之外,Web 应用程序技术还有许多好处。在我们公司,我们通过 RoR 提供了丰富的内部工具,并且运行良好。 我们的客户要求,所有报告都在新窗口或标签中打开是一项硬性要求。必需的。顾客。最后,你不必同意不同意,但你不会改变我的想法,很明显我不会改变你的想法,所以我不会用头撞这堵墙。这就是同意不同意的意思。 :P【参考方案2】:

据我所知,没有办法实现您想做的事情,而且这样做是正确的。您网页上的代码应该仅与该页面相关,如果您能够查询客户端/浏览器打开了哪些选项卡和页面,我预计会有严重的安全隐患。

可能的选项是创建指向launch your site in a new window 的链接,并设置删除菜单、工具栏等选项。

【讨论】:

【参考方案3】:

同意已经制作的 cmets,阻止用户打开多个标签并不取决于您。如果这对他们造成性能问题,那么他们将停止这样做

过去,我为某些 ajax 驱动的链接禁用“右键单击”事件而感到内疚,在新页面中打开链接不会呈现所需的内容,而是会在另一个选项卡中显示相同的内容.但这是一个不好的做法,最终归结为我对 JS 的使用不足。

【讨论】:

如何在使用 opsworks 部署时仅在特定层中的第一个实例上运行命令?

】如何在使用opsworks部署时仅在特定层中的第一个实例上运行命令?【英文标题】:Howtorunacommandononlythefirstinstanceinaspecificlayerondeploymentwithopsworks?【发布时间】:2014-06-0103:38:31【问题描述】:我们正在awsopsworks上部署一个Laravel应用... 查看详情

如何仅在 UITextView 上强制水平滚动

】如何仅在UITextView上强制水平滚动【英文标题】:howtoforcehorizontalscrollingonlyonUITextView【发布时间】:2012-05-2214:01:02【问题描述】:我有一个UITextView与contentSize属性设置为一个非常大的值1000,UITextView的宽度是200,启用滚动,启用... 查看详情

仅在特定的网络浏览器中,WildFly 服务的网络应用程序上的 ViewExpiredException

】仅在特定的网络浏览器中,WildFly服务的网络应用程序上的ViewExpiredException【英文标题】:ViewExpiredExceptiononaWildFly-servedwebapponlyinaparticularwebbrowser【发布时间】:2014-11-1020:49:26【问题描述】:我有一个在Wildfly8.1.0Final上运行的jsf应... 查看详情

我可以强制在特定浏览器中打开链接吗?

】我可以强制在特定浏览器中打开链接吗?【英文标题】:CanIforcealinktoopeninaspecificbrowser?【发布时间】:2011-08-1809:24:21【问题描述】:我使用Firefox设计了一个网站,现在希望将软件电话集成到网页中,但不幸的是它是用ActiveX制... 查看详情

Wordpress:如何仅在特定页面上显示链接

】Wordpress:如何仅在特定页面上显示链接【英文标题】:Wordpress:Howtoshowalinkonlyonaspecificpage【发布时间】:2019-04-1421:16:06【问题描述】:我在WordPress中创建了我的网站,其中包含以下四个链接:HOME|CONTACT|GETFREEQUOTE|ABOUT"GETFREEQUO... 查看详情

如何仅在 Flutter 中的特定页面上更改状态栏颜色

】如何仅在Flutter中的特定页面上更改状态栏颜色【英文标题】:HowdoIChangeStatusBarColoronlyonaSpecificPageinFlutter【发布时间】:2021-10-0602:31:54【问题描述】:如何在Flutter中仅更改特定页面上的状态栏颜色?我尝试使用AnnotatedRegion,但... 查看详情

如何仅在特定页面上显示 route.v6 上的导航栏?

】如何仅在特定页面上显示route.v6上的导航栏?【英文标题】:Howcanishownavbaronroute.v6onlyonaspecificpage?【发布时间】:2022-01-0913:29:09【问题描述】:我可以仅在特定页面上显示route.v6上的导航栏吗?如何。..constRouter=()=>return(<Brow... 查看详情

如何使用 Apache 在特定页面上正确强制使用 HTTPS

】如何使用Apache在特定页面上正确强制使用HTTPS【英文标题】:HowtoproperlyforceHTTPSonspecificpagesusingApache【发布时间】:2011-09-0706:12:07【问题描述】:我想强制我的注册页面使用https,并允许使用https或http浏览所有其他页面(例如,h... 查看详情

如何强制 QTcpServer 监听特定端口?

【中文标题】如何强制QTcpServer监听特定端口?【英文标题】:HowtoforceQTcpServerlistenonaspecificport?【发布时间】:2013-05-2416:23:34【问题描述】:是否可以强制QTcpServer监听小于1024的特定端口?【问题讨论】:【参考方案1】:我猜,... 查看详情

如何仅在标签中的特定单词上显示工具提示?

】如何仅在标签中的特定单词上显示工具提示?【英文标题】:HowcanIonlyshowToolTiponspecificwordsinaLabel?【发布时间】:2014-07-1805:23:13【问题描述】:将此文本作为示例。我希望能够显示类似于上面的文本,并让用户将鼠标悬停在“... 查看详情

如何在 android actionbar compat 上强制溢出菜单?

】如何在androidactionbarcompat上强制溢出菜单?【英文标题】:Howtoforceoverflowmenuonandroidactionbarcompat?【发布时间】:2012-02-0404:59:09【问题描述】:Androidactionbarcompat可能吗?在较旧的设备(3.0之前)上,不适合操作栏的项目仅在按下... 查看详情

dtrace 仅在函数返回特定模块时执行操作

】dtrace仅在函数返回特定模块时执行操作【英文标题】:dtraceexecuteactiononlywhenthefunctionreturnstoaspecificmodule【发布时间】:2013-07-0817:54:09【问题描述】:我正在使用dtrace跟踪一些libc函数。我想做一个谓词,仅在函数返回到参数中给... 查看详情

RobotFramework:如何在特定的 PC 屏幕上打开测试自动化?

...1702:51:27【问题描述】:我正在使用RobotFramework。我使用“浏览器”库和“SeleniumLibrary”库。我有3个电脑屏幕,我们称它们为1、2和3现在我想在屏幕#2上打开测试自动化我该 查看详情

React:如何强制浏览器为 OPTION 发送特定的标头(预检)

】React:如何强制浏览器为OPTION发送特定的标头(预检)【英文标题】:React:HowtoforcethebrowsertosendaspecificheaderforOPTION(preflight)【发布时间】:2016-07-2417:23:55【问题描述】:我正在编写一个可爱的restweb服务,我现在计划将它用于使... 查看详情

如何在 EMR 中的特定实例组上运行脚本

】如何在EMR中的特定实例组上运行脚本【英文标题】:HowtorunscriptonspecificinstancegroupinEMR【发布时间】:2016-08-0508:48:55【问题描述】:我被一个任务困住了,我必须只在任务实例组实例上运行1个脚本。我目前的做法-为此,我在集... 查看详情

MS Access 如何将焦点集中在特定的多个报表实例上

】MSAccess如何将焦点集中在特定的多个报表实例上【英文标题】:MSAccesshowsetfocusonaparticularmultiplereportinstance【发布时间】:2016-06-0311:35:16【问题描述】:我的问题是将焦点设置在打开的特定Report实例上。我复制了一个非常适用于... 查看详情

我如何才能仅在反应材料 ui 中的特定尺寸上证明内容?

】我如何才能仅在反应材料ui中的特定尺寸上证明内容?【英文标题】:HowcanijustifyContentonlyonspecificsizesinreactmaterialui?【发布时间】:2021-06-0322:27:31【问题描述】:我在ReactMaterialUI中有一个网格布局。我希望大尺寸的内容在中心对... 查看详情

重定向到浏览器后退按钮上的特定操作单击 MVC

】重定向到浏览器后退按钮上的特定操作单击MVC【英文标题】:RedirectingtoaspecificactiononbrowserbackbuttonclickMVC【发布时间】:2014-02-1910:57:17【问题描述】:单击浏览器的后退按钮时,如何重定向到控制器操作。我可以通过点击我自... 查看详情