2014-09-22 37 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」。

相關問題