[英]window.open behaviour in chrome tabs/windows
我有一小部分用於打開兩個或更多標簽的JavaScript。 這在FF和IE中工作正常,但chrome在新窗口中打開第二個而不是tab。 它不依賴於url,因為我用兩個相同的url嘗試了它。 首先在選項卡中打開,第二個在新窗口中打開。
這是我的代碼片段:
for(var i=0 ; i<sites.length ;i++)
{
window.open(sites[i].Url);
}
只有在用戶生成的操作時,Chrome才會自動在新標簽頁中打開網址,每個用戶操作僅限一個標簽。 在任何其他情況下,URL將在新窗口中打開(BTW,默認情況下在Chrome上被阻止)。
必須在回調中調用window.open ,該回調由用戶操作(例如onclick)觸發,以便在新選項卡而不是窗口中打開頁面。
在您的示例中,您嘗試在用戶操作時打開N個選項卡。 但只有第一個在新選項卡中打開(因為它是用戶生成的操作)。 之后,將在新窗口中打開任何其他URL。
類似的問題: 強制window.open()在chrome中創建新選項卡 (請參閱maclema的回答)
我遇到了這個問題JavaScript中的(function(){})()構造是什么? 其中給出了對IIFE的解釋。 我認為這可以用完了。 請耐心等待我對javascript的了解不多。 但我嘗試了如下,它的工作。
var sites = [{"url" : "http://www.google.com"} , {"url" : "http://www.yahoo.com"} , {"url" : "http://www.msn.com"}];
console.log(sites);
for( var i=0 ; i < sites.length ;i++) {
(function(i) {
console.log(i);
window.open(sites[i].url , "_blank");
})(i);
}
它會在chrome的新標簽中打開網址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.