2014-09-22 32 views
0

我一直在试图打开一个“弹出”[1]没有它自动对焦。打开一个“弹出”,不关注它

我试图模糊它,从开启者或从弹出本身失败。 我也在寻找流行下,但没有发现任何有关谷歌有关这两个主题。

我在使用Firefox。 (嗯... Palemoon 24.7.1针对x64实际上)

我的目标是能够打开一堆标签(与中间点击实例),并让他们关闭自己的晚了一点。

在Firefox中这样做,而且据我所知,你MUST使用弹出(吧?)。但每次我打开一个新标签页(中间点击),它都会关注它,这非常烦人。


[1]或其他任何可以符合我的期望的东西。

编辑:注意:这是个人使用。 :)

+0

您正在尝试90年代所有的弹出式广告!所以'window.focus()'不起作用?显示你的尝试。 – epascarello 2014-09-22 13:36:20

+1

你想用这些弹出窗口来完成什么?用户决定关闭网页/浏览器/弹出窗口,而不是您。这听起来像一个不好的做法,从一开始 – hotforfeature 2014-09-22 13:37:04

+0

@abmitchell这是个人使用:)我忘了提及它,谢谢!我正尝试自行推出一系列下载,并让它们自己关闭! – JeromeJ 2014-09-22 13:38:58

回答

1

首先简单:鼠标中键单击:在“工具” - >“选项卡”选项卡上的选项中,有一个选项“当我在新选项卡中打开链接时,立即切换到” 。取消选中此选项后,选择“在新选项卡中打开”或鼠标中键单击的链接将在新选项卡中打开而不被重点关注。在相同的选项选项卡上,您还需要选中“在新选项卡中打开新窗口”(第一个复选框)。

这将适用于大多数正常的链接。实际上,JavaScript代码片段的链接在新选项卡中不起作用,因为它们依赖于当前页面中存在的代码。

我在Firefox中发现的一个变化是让光标发生变化,具体取决于它悬停在哪种链接上。这将允许您在基本级别上直观地区分单击链接时将发生的情况,而无需查看目标地址。我最初在askvg找到这个。这是一个除了文件<profile directory>/chrome/userContent.css(创建目录,如果它们不存在文件):

/* Change mouse cursor for hyperlinks that open in a new window or tab */ 
:link[target="_blank"], :visited[target="_blank"], 
:link[target="_new"], :visited[target="_new"] { 
cursor: crosshair; 
} 
/* Change mouse cursor for JavaScript links */ 
a[href^="javascript:"] { 
cursor: move; 
} 

/* Cursor types 
default - Normal select cursor 
text - Text select cursor (I bar) 
vertical-text - Vertical text select cursor 
progress - Working in background cursor 
wait - Busy cursor 
help - Help cursor 
crosshair - Precision select cursor 
move - Move cursor 
no-drop - Unavailable cursor 
not-allowed - Unavailable cursor 
e-resize - Horizontal resize cursor 
n-resize - Vertical resize cursor 
nw-resize - Diagonal resize 1 cursor 
ne-resize - Diagonal resize 2 cursor 
col-resize - Column resize cursor 
row-resize - Row resize cursor 
*/ 

除此之外,目前还不清楚你想这样做在什么情况下,或至少到什么程度你愿意去完成这个。你提到在后台打开窗口/标签并关闭它们意味着你实际上不需要用户查看窗口/标签。难道你只是想要一个URL的请求?使用XMLHttpRequest就足够了吗?

你想为自己做这件事,所以如果你走的是Firefox扩展的路线,那么打开制表符和窗口并且不让它们专注是很容易的。它可以通过addTab()完成。

这将有助于你描述什么是你总体试图完成和你在这样做的背景。

其他信息:

根据你所描述你所需要的附加信息是写一个Firefox扩展,可以给你弹出式广告和标签的完全控制权,让他们工作,你想要的方式。对于这听起来像你的愿望,你会看到(至少)以下Mozilla的文档:

复制上Tabbed browser一个例子:

// Add tab (without it becoming active) 
gBrowser.addTab("http://www.google.com/"); 

// Add tab, then make active 
gBrowser.selectedTab = gBrowser.addTab("http://www.google.com/"); 

Tabbed browser

在正确的窗口打开网址/标签

有在 chrome://browser/content/utilityOverlay.js,可以很容易打开可用的方法 标签中的URL,例如openUILinkIn和openUILink。

openUILinkIn(URL,其中,allowThirdPartyFixup,POSTDATA,referrerUrl ) 其中:

  • “当前” 当前选项卡(如果没有任何浏览器窗口,然后在新的窗口,而不是)
  • “选项卡”新选项卡(如果没有任何浏览器窗口,则在新窗口中改为)
  • “tabshifted”与“选项卡”相同,但在后台如果默认选择新选项卡,反之亦然
  • “窗口”新窗口
  • Tabbed browser“保存”保存到磁盘(没有文件名暗示!)

而且,代码示例,用于覆盖扩展,它

将在新打开一个URL标签,现有标签或现有窗口 ,这些窗口基于哪个鼠标按钮被按下以及哪个热键(例如:Ctrl) 正在被保持。给出的代码是menuitem,但对其他XUL元素同样适用 。这只适用于browser.xul的覆盖 。

XUL:

<menuitem oncommand="myExtension.foo(event)" onclick="checkForMiddleClick(this, event)" label="Click me"/> 

JS:

var myExtension = { 
    foo: function(event) { 
    openUILink("http://www.example.com", event, false, true); 
    } 
} 
+0

当中键单击打开弹出窗口时,您的第一个技巧不起作用。弹出窗口是弹出窗口,并不是真正的新选项卡。我已经选择了这个选项。其实,是的,用户不需要看到标签,我已经使用了一些脚本,以便下载开始,我的目标是在下载开始后这些标签会自行关闭。有用。但是现在我有这个“焦点问题”。我可能会看看扩展,但我想保持“易于执行,易于安装”的处理。谢谢您的回复。 – JeromeJ 2014-09-23 15:20:20

+0

(此外,我需要执行页面中的JS,因为我不想对这些下载网站的混淆的js代码进行反向工程) – JeromeJ 2014-09-23 18:09:06

+0

添加[Mozilla开发者网络](https://developer.mozilla.org/en -US/Add-ons)链接和从那里取得的代码示例。 – Makyen 2014-09-23 19:27:10

0

最后,我想我用这个技术来获得更多或更少的什么我想实现:

的打开的选项卡(“弹出”)将与Web服务器(在我的情况下,在Python中)感谢通过使用像GreaseMonkey一样的插件加载的JavaScript。

然后服务器会告诉弹出窗口什么时候关闭自己:很好!


编辑:我只是想的做这件事(作假),这可能会或可能不会满足您的需求的另一种方式(取决于您的应用程序)。

用当前URL打开一个“弹出”(新选项卡)(这就是它可能为你做的诀窍),然后将第一页的URL改为你正在查找的“popunder”。

相关问题