2014-03-31 78 views
0

不開口,我有下面的代碼工作的所有用戶酒吧之一。在該用戶的機器上,它在鏈接所在的窗口中打開,而不是打開一個新窗口。這是我在這裏不會涉及的問題!因此,任何其他的想法的Javascript鏈接在新窗口

JavaScript是,據我可以告訴( - >安全 - - >自定義級別>啓用活動腳本,即選項),用戶的PC上啓用了?

<form action="http://www.website.com" method="post" onsubmit="target_popup(this)"> 
<input name="userid" type="hidden" value="[userid]" /> 
<input type="submit" value="New Window" /> 
</form> 
<script type="text/javascript"> 
function target_popup(form) { 
    window.open('', 'formpopup', 'width=1100,height=750,resizable,scrollbars'); 
    form.target = 'formpopup'; 
} 
</script> 

這是Windows 7中的瀏覽器還內置一個上的應用程序,但我認爲它基本上是IE9和彈出窗口應在適當的IE9窗口彈出(而不是在應用程序的瀏覽器中打開它所以它需要在一個新的窗口)

她也得到了PC上安裝Chrome瀏覽器(但這樣有沒有同樣的問題誰的其他用戶)

+0

瀏覽器/操作系統的信息? – Scimonster

+0

@Scimonster更新 – franglais

回答

1

你需要返回上提交虛假或者在彈出窗口被激活之前窗體會改變頁面。

由於某些瀏覽器需要一點要弄清楚一個窗口被打開,則需要使用setTimeout和還測試彈出窗口攔截

我無法想象在一個新的窗口彈出將從Chrome中打開IE9,除非協議一個只有IE9被設置爲識別。

這就是說,儘量

<form id="form1" action="http://www.website.com" method="post" onsubmit="return target_popup(this)"> 
<input name="userid" type="hidden" value="[userid]" /> 
<input type="submit" value="New Window" /> 
</form> 
<script type="text/javascript"> 
function target_popup(form) { 
    form.target = 'formpopup'; 
    var w = window.open('', 'formpopup', 'width=1100,height=750,resizable,scrollbars'); 
    if (w) { 
    setTimeout(function() { document.getElementById("form1").submit()},100); 
    return false; 
    } 
    return true; // submit anyway since a popup blocker was active 
} 
</script> 
+0

查看更新....... – mplungjan

+0

我所做的變化,但它仍然在做同樣的(再次,做工精細其他人的機器上) – franglais

+0

現在看看。我添加了一個彈出式窗口攔截試驗 - 也期待在控制檯上的用戶的瀏覽器(命中F12),你可能會看到這樣的訪問被拒絕或阻止彈出似乎 – mplungjan

0

我相信一旦submit事件是提出,形式目標已經選定。

如果觸發功能之前submit事件被提出  —例如,當按下提交按鈕或  —那麼當提交表單時,你應該看到新的目標習慣相似。

+0

當我忙於增加,而你的評論:) – mplungjan