2011-08-01 6 views
9

Google 크롬의 새 탭에서 window.open()을 사용하여 페이지를 열고 싶지만 창을 연 후 해당 창을 배경으로두고 싶지는 않습니다. .window.open이 초점을 맞출 수 없도록 함

이것이 가능합니까? Google 크롬에서만 작동해야합니다. Google 크롬 확장 API를 사용할 수도 있습니다. 아이가 열리면

덕분에 아이에서

답변

9

적절한 방법은 확장 API를 사용하는 것입니다. 당신이 콘텐츠 스크립트 내에서 필요한 경우과 같이, 배경 페이지에 메시지를 전달할 수 있습니다

//content script 
chrome.runtime.sendMessage({link: link}); 

//background page 
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { 
    if(message.link) { 
     chrome.tabs.create({url: link, selected: false}); 
    } 
}); 
+0

그냥 필요한 것. 감사! –

+1

모든 브라우저에서 작동하도록 위와 같은 일반적인 방법이 있습니까? 초점 기능이 작동하지 않습니다. –

+1

더 이상 작동하지 않는 것 같습니다. –

-2

활성화 부모 창 또는 자기를 활성화합니다.

2
window.open(url, name, features); 
window.focus(); 

짧은 시간 동안 새 창을 볼 수 있습니다.

2

방법은 당신이 원하는 무엇이든 할 수있는이를 사용하여

function openURL(url, opt){ 
    if (opt == 0){ // current window 
    window.location = url; 
    }else if (opt == 1){ // new window 
    window.open(url); 
    }else if (opt == 2){ // background window 
    window.open(url); self.focus(); 
    } 
} 

그래서 모든 브라우저에서 거기입니다.

chrome.tabs.create({url: "http://...", selected: false}); 

코드는 배경 페이지에 배치해야합니다 :

openURL("http://www.google.com", 0) --> open in same window 
openURL("http://www.google.com", 1) --> open in new window 
openURL("http://www.google.com", 2) --> open in new window but in background. 
+6

크롬에서 작동하지 않습니다. –

1

예 당신이 그렇게 할 수 단지 사용

var myWindow = window.open(url,name,features); 
myWindow.blur(); 
0

이 시도 : (크롬에 확인 only)

var myWindow = window.open(url,name,features); 
window.open().close(); 
관련 문제