Chrome,Javascript,window在新標(biāo)簽頁(yè)中打開(kāi)
您不能直接控制它,因?yàn)樗怯蒊nternet Explorer用戶控制的選項(xiàng)。
使用Window.open使用不同的窗口名稱打開(kāi)頁(yè)面將在新的瀏覽器窗口(如彈出窗口)中打開(kāi),或者在用戶配置的瀏覽器中打開(kāi)。
更詳細(xì)的解釋:
在現(xiàn)代瀏覽器中,window.open將在新選項(xiàng)卡中打開(kāi),而不是彈出窗口。
您可以通過(guò)在第3個(gè)參數(shù)中指定選項(xiàng)來(lái)強(qiáng)制瀏覽器使用新窗口(“彈出窗口”)
如果window.open調(diào)用不是用戶啟動(dòng)的事件的一部分,它將在新窗口中打開(kāi)。
“用戶啟動(dòng)的事件”不必具有相同的函數(shù)調(diào)用–但是它必須起源于用戶單擊所調(diào)用的函數(shù)
如果用戶啟動(dòng)的事件委托或推遲了一個(gè)函數(shù)調(diào)用(例如,在未綁定到click事件的事件偵聽(tīng)器或委托中,或通過(guò)使用setTimeout進(jìn)行委托),則它將失去其狀態(tài)為“用戶發(fā)起”
某些彈出窗口阻止程序?qū)⒃试S通過(guò)用戶啟動(dòng)的事件打開(kāi)窗口,但不允許以其他方式打開(kāi)的窗口。
如果任何彈出窗口被阻止,則阻止程序通常允許的(通過(guò)用戶啟動(dòng)的事件)有時(shí)也會(huì)被阻止。一些例子…
強(qiáng)制在新的瀏覽器實(shí)例(而不是新的選項(xiàng)卡)中打開(kāi)窗口:
window.open(’page.PHP’, ’’, ’width=1000’);
即使以下內(nèi)容調(diào)用了另一個(gè)函數(shù),也將其視為用戶啟動(dòng)的事件:
function o(){ window.open(’page.PHP’);}$(’button’).addEvent(’click’, o);
由于setTimeout推遲了以下事件,因此以下事件不屬于用戶啟動(dòng)的事件:
function g(){ setTimeout(o, 1);}function o(){ window.open(’page.PHP’);}$(’button’).addEvent(’click’, g);解決方法
在chrome中,這會(huì)在新標(biāo)簽頁(yè)中打開(kāi):
<button onclick='window.open(’newpage.html’,’_blank’)' />
這會(huì)在新窗口中打開(kāi)(但我也想在新標(biāo)簽頁(yè)中打開(kāi)它:
<script language='javascript'> window.open(’newpage.html’,’_blank’);</script>
這可行嗎?
相關(guān)文章:
1. javascript - history.replaceState()無(wú)法改變query參數(shù)2. JavaScript事件3. javascript - react熱加載的一段代碼4. javascript - 這段代碼如何理解?5. javascript - vue過(guò)渡效果 css過(guò)渡 類名的先后順序6. javascript - npm安裝報(bào)錯(cuò) 系統(tǒng)w7 求大神解答7. javascript - react 中綁定事件和阻止事件冒泡8. javascript - table列過(guò)多,有什么插件可以提供列排序和選擇顯示列的功能9. javascript - es6將類數(shù)組轉(zhuǎn)化成數(shù)組的問(wèn)題10. javascript - 有沒(méi)有什么好的圖片懶加載的插件,需要包含監(jiān)聽(tīng)頁(yè)面滾動(dòng)高度,然后再加載的功能
