Chrome,Javascript,window在新標(biāo)簽頁中打開
您不能直接控制它,因?yàn)樗怯蒊nternet Explorer用戶控制的選項(xiàng)。
使用Window.open使用不同的窗口名稱打開頁面將在新的瀏覽器窗口(如彈出窗口)中打開,或者在用戶配置的瀏覽器中打開。
更詳細(xì)的解釋:
在現(xiàn)代瀏覽器中,window.open將在新選項(xiàng)卡中打開,而不是彈出窗口。
您可以通過在第3個(gè)參數(shù)中指定選項(xiàng)來強(qiáng)制瀏覽器使用新窗口(“彈出窗口”)
如果window.open調(diào)用不是用戶啟動(dòng)的事件的一部分,它將在新窗口中打開。
“用戶啟動(dòng)的事件”不必具有相同的函數(shù)調(diào)用–但是它必須起源于用戶單擊所調(diào)用的函數(shù)
如果用戶啟動(dòng)的事件委托或推遲了一個(gè)函數(shù)調(diào)用(例如,在未綁定到click事件的事件偵聽器或委托中,或通過使用setTimeout進(jìn)行委托),則它將失去其狀態(tài)為“用戶發(fā)起”
某些彈出窗口阻止程序?qū)⒃试S通過用戶啟動(dòng)的事件打開窗口,但不允許以其他方式打開的窗口。
如果任何彈出窗口被阻止,則阻止程序通常允許的(通過用戶啟動(dòng)的事件)有時(shí)也會(huì)被阻止。一些例子…
強(qiáng)制在新的瀏覽器實(shí)例(而不是新的選項(xiàng)卡)中打開窗口:
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)簽頁中打開:
<button onclick='window.open(’newpage.html’,’_blank’)' />
這會(huì)在新窗口中打開(但我也想在新標(biāo)簽頁中打開它:
<script language='javascript'> window.open(’newpage.html’,’_blank’);</script>
這可行嗎?
相關(guān)文章:
1. javascript - canvas 可以實(shí)現(xiàn) PS 魔法橡皮擦的功能嗎?2. javascript - stylus格式的圖標(biāo)字體里url無法解析3. javascript - 關(guān)于vuejs的v-for循環(huán)問題4. javascript - js 寫一個(gè)正則 提取文本中的數(shù)據(jù)5. javascript - 關(guān)于iscroll的一段代碼,希望有人解釋6. javascript - vue引用elementUI,報(bào)indx.css找不到的錯(cuò)?7. javascript - ios返回不執(zhí)行js怎么解決?8. javascript - 在商城開發(fā)中,商品詳情頁里面的屬性規(guī)格,大家傾向于用哪種json數(shù)據(jù)格式?如下9. javascript - $.ajax({}) 能否在js函數(shù)中調(diào)用?10. javascript - 求一套有關(guān)于IP地址的JS正則!
