2009-11-24 141 views
5

我想從我的默認頁面打開某個頁面。 所有有默認頁面的代碼是:window.open與彈出窗口攔截器

<script type="text/javascript"> 
     window.open("StartPage.aspx", "", "fullscreen=yes"); 
</script> 

的問題是,瀏覽器的彈出式窗口攔截阻止此,我需要讓瀏覽器打開它。 我想避免這種情況,並且每個使用我的Web應用程序的人都不需要允許彈出窗口阻止程序打開頁面。我想通過彈出式窗口攔截器並在未經許可的情況下打開頁面。

有沒有辦法做到這一點? 謝謝

+3

如果你能繞過彈出窗口攔截器的方式,你不認爲所有的廣告垃圾郵件都會這樣做? – skaffman 2009-11-24 13:52:28

+1

如果您可以繞過彈出式窗口攔截器,它不會是彈出式窗口攔截器。 – NickFitz 2009-11-24 15:17:39

回答

1

你將無法做到這一點。它是阻止彈出窗口的用戶首選項,您無法控制該窗口。

13

adamantium是對的。如果彈出窗口阻止程序可能被導致彈出窗口的代碼覆蓋,那麼它將毫無用處。你可以做的最好的是這樣的:

<script type="text/javascript"> 
    var myPopup = window.open("StartPage.aspx", "", "fullscreen=yes"); 
    if(!myPopup) 
     alert('a popup was blocked. please make an exception for this site in your popup blocker and try again'); 
</script> 
+0

是好軌道,但如何覆蓋沒有警報消息 – 2013-05-10 12:21:55

+0

不適用於我的Chromium。任何想法? – lippo 2013-06-03 08:33:27

3

正如其他人所說的,你根本不能。瀏覽器正在阻止該行爲。另一個選擇是不使用window.open,而是使用可以給你相同行爲的javascript組件。

+0

看來他不想要一個「彈出」,而是全屏打開頁面。 – awe 2009-11-24 13:54:43

+0

正確,但這是不可能的,所以我給出了一個替代解決方案。 – Bob 2009-11-24 14:02:15

1

只能使用onclick事件打開彈出窗口。您可以嘗試使用target="_blank"提交表單併爲您的網址設置操作,但forefox阻止了此操作,而谷歌瀏覽器沒有。

+0

Piotr M.是對的!這是唯一可行的事情!難怪我整個時間都在阻止我的彈出窗口,我通過onmousedown事件觸發了他們,誰知道它的行爲會有所不同!謝謝Piotr! – Hank 2013-01-28 21:09:07

0

我不認爲這是不可能的,我每天都看到流頁面打開彈出窗口所有的時間和礦山被封鎖,所以應該是繞過它

相關問題