所以我有一个网站,在那里我可以选择链接和点击一个按钮打开他们所有的同时。当我这样做时,Firefox会自动带我到一个新打开的链接。
我想阻止这种行为,于是我找了又找,最终找到了这个选项:
Browser.Tabs.LoadDivertedIn
现在,当我将此设置为true时,新打开的选项卡不会自动带我访问它们。所以,如果我点击一个网站上的广告,通常在一个新的标签打开,并带我去它,现在它不会发生。我也试过这段代码:
<p><a href="#" onclick="window.open('http://google.com');
window.open('http://yahoo.com');">Click to open Google and Yahoo</a></p>
此代码同时打开2个链接。我在想,也许同时打开多个链接会以某种方式覆盖Firefox。但是没有,链接打开了,我没有自动进入任何一个新的选项卡。
还必须指出的是,我在Firefox75和74中遇到了这个问题。但是当我在Firefox55.0.2中尝试时,我就没有这个问题了。在Firefox55.0.2中,“Browser.Tabs.LoadDivertedInBackground”实际上甚至在我有问题的网站上也能工作(我不能共享该站点,因为它在登录之后)。
这似乎是负责在我有问题的网站上打开多个链接的代码:
$(document).on('click', '.statbtn', function () {
var me = $(this);
var isAnyRowSelected = false;
$('.row-checkbox').each(function () {
var t = $(this);
if (t.is(':checked')) {
isAnyRowSelected = true;
$('select[name="status[' + t.val() + ']"]').val(me.attr('id'));
}
});
if(isAnyRowSelected == false){
bootbox.alert("No Orders Selected");
}
});
$(document).on('click', '.openlink', function () {
var me = $(this);
var isAnyRowSelected = false;
$($('.row-checkbox').get()).each(function () {
var t = $(this);
if (t.is(':checked')) {
isAnyRowSelected = true;
console.log();
var win = window.open(t.data('link'), '_blank');
if (win) {
win.focus();
} else {
bootbox.alert('Please allow popups for this website');
}
}
});
所以我想尽一切办法。对about:config的许多更改,重新启动我的浏览器,取消在Firefox中的“当你打开一个新选项卡中的链接时,立即切换到它”选项的勾选。但什么都不起作用。当我打开链接从这个网站使用这个特定的按钮,我总是得到自动采取一个新打开的标签。
这里有一个类似的问题-https://www.reddit.com/r/firefox/comments/bnu6qq/opening_new_tab_problem/
有什么想法为什么会发生这种情况和如何解决它吗?我的意思是,一个网站不应该能够或者允许覆盖Firefoxe的原生设置,对吧?
好吧,因为我不想当混蛋,这是解决办法。
$(document).on('click', '.statbtn', function () {
var me = $(this);
var isAnyRowSelected = false;
$('.row-checkbox').each(function () {
var t = $(this);
if (t.is(':checked')) {
isAnyRowSelected = true;
$('select[name="status[' + t.val() + ']"]').val(me.attr('id'));
}
});
if(isAnyRowSelected == false){
bootbox.alert("No Orders Selected");
}
});
$(document).on('click', '.openlink', function () {
var me = $(this);
var isAnyRowSelected = false;
$($('.row-checkbox').get().reverse()).each(function () {
var t = $(this);
if (t.is(':checked')) {
isAnyRowSelected = true;
console.log();
// var win = window.open(t.data('link'), '_blank');
setTimeout(() => window.open(t.data('link'), '_blank'),1000);
// if (win) {
// win.focus();
// } else {
// bootbox.alert('Please allow popups for this website');
// }
}
});
if(isAnyRowSelected == false){
bootbox.alert("No Orders Selected");
}
});
基本上,添加一个“setTimeout”就修复了它。出于某种原因,Firefox需要延迟来正确处理事情,我猜,我想。在延迟之前,动作会立即发生,我只是猜测Firefox不能“赶上”它,以便应用不导航到新标签的豁免。但一个超时延迟修复了它。
对于任何可能遇到类似问题的人,还需要在Firefox的“about:config”中进行编辑才能将其设置为true。
Browser.Tabs.LoadDivertedIn
这是所有的人:)
我正试图更新作曲家没有任何运气! 我所尝试的: [InvalidArgumentExc0019]命令"自我更新"未定义。 [InvalidArgumentExc0019]命令"自我更新"未定义。 读取包裹列表...完成构建依赖树读取状态信息...完成作曲家已经是最新的版本。以下软件包已自动安装,不再需要:libntdb1 linux-Headers-4.2.0-30 linux-Headers-4
我有一个在两个docker容器上运行的应用程序,一个前端(react.js)和一个后端(java、Spring)。 我已经安装并运行了这些容器,可以验证它们是否可以通过ping相互通信。 注意到这个问题后,我研究了一下,发现了一个问题,一个用户gok提供了一些有用的信息和到spring文档的链接,这些信息非常丰富。 在发现问题是CORS问题之前,我已经按照前面问题中的指示将更改应用到后端代码。 因
我在Ubuntu14.04中从事Selenium和Firefox的工作,我通过send_keys(Keys)创建了一个新的选项卡。CONTROL 't '),但是一直在第一个选项卡上发出命令,可能是因为我没有正确地关注新选项卡。 运行此代码时没有错误。 去google.com后,我创建了一个新标签,屏幕在新标签上变成了一个空白页。之后,我编写了driver . switch _ to _ wind
问题内容: 我想更新一个表以指示某些行是其他行的父表,因此我在表中添加了“父代”列。以下查询查找所有父母: 但是当我尝试修改该语法以进行更新时,它不起作用: 我得到: 请注意,第7行第28列是“ SET”行的结尾。 问题答案: Oracle不支持语句中的子句。 用这个:
我无法停止/消除我的不和。js机器人(nodejs-npm)。 并尝试命令:npm stop https://pastebin.com/v41PxTcN