tabs.create()

새 탭을 만듭니다.

tabs.create()Promise를 반환하는 비동기 함수입니다.

구문

js
let creating = browser.tabs.create(
  createProperties   // object
)

매개변수

createProperties

object. 새 탭에 줄 속성들입니다. 이 속성들에 대해 더 알아보려면 tabs.Tab (en-US) 문서를 확인하십시오.

activeOptional

boolean. 탭을 창의 활성 탭으로 변경할지에 대한 여부입니다. false인 경우에는 효과가 없습니다. 창에 포커스가 맞춰져 있는지 여부에는 영향을 주지 않습니다(windows.update (en-US)를 참조하십시오). 기본 값은 true입니다.

cookieStoreId Optional

string. 쿠키 저장소 ID가 cookieStoreId인 탭을 생성하기 위해 사용합니다. 이 옵션은 확장이 "cookies" 권한 (en-US)을 가져야만 사용할 수 있습니다. 상황별 신원을 사용해 작업하기 (en-US)에서 더 많은 정보를 확인하세요.

discarded Optional

boolean. 탭이 생성된 뒤 메모리에 로드된 콘텐츠 없이 탭 표시줄에 표시되는 상태인지에 대한 여부입니다. 탭이 활성화되면 탭의 콘텐츠가 로드됩니다.

indexOptional

integer. 창에서 탭이 차지할 위치입니다. 제공되는 값은 0부터 창의 탭 개수 사이로 고정됩니다.

muted Optional

boolean. 탭의 음소거 여부입니다. 기본 값은 false입니다.

openerTabIdOptional

integer. 이 탭을 연 탭의 ID입니다. 이 값이 지정된 경우, 새로운 탭을 연 탭은 반드시 새로 생성한 탭과 같은 창에 있어야 합니다.

openInReaderModeOptional

boolean. true일 경우, 이 탭을 읽기 모드 (en-US)로 엽니다. 기본 값은 false입니다.

pinnedOptional

boolean. 탭의 고정 여부입니다. 기본 값은 false입니다.

selectedOptional

boolean. 창에서 선택된 탭이 되는지에 대한 여부입니다. 기본 값은 true입니다.

경고: 이 속성은 폐기되었으며, Firefox에서는 지원되지 않습니다. 대신 active를 사용하십시오.

title Optional

string. 탭의 제목입니다. discarded 속성이 true로 생성된 탭에서만 사용할 수 있습니다.

url Optional

string. 탭이 초기에 이동할 URL입니다. 기본 값은 새 탭 페이지입니다.

정규화된 URL에는 반드시 스킴이 포함되어야 합니다. 예를 들어, 'www.google.com' 이 아닌 'http://www.google.com' 을 사용해야 합니다.

보안상의 이유로 Firefox에서는 특수한 권한을 가진 URL은 사용할 수 없습니다. 따라서 다음과 같은 URL을 전달하면 실패하게 됩니다.

  • chrome: URLs
  • javascript: URLs
  • data: URLs
  • file: URLs (예: 파일시스템의 파일들. 단, 확장 안에 패키지된 파일을 사용하려면 아래를 참조하십시오.)
  • 특수한 권한을 가지는 about: URLs (예: about:config, about:addons, about:debugging). 권한이 없는 URL(예: about:blank)은 허용됩니다.
  • URL 값이 주어지지 않으면 새 탭 페이지 (about:newtab)가 열립니다.

확장 프로그램과 함께 패키지된 페이지를 로드하려면, 확장 프로그램의 manifest.json 파일에서부터 시작하는 절대 URL을 지정하십시오. 예를 들어 '/path/to/my-page.html' 앞의 '/'를 생략하면, URL이 상대 URL로 취급되어 브라우저마다 다른 절대 URL을 생성할 수 있습니다.

windowIdOptional

integer. 새 탭을 생성할 창입니다. 기본 값은 현재 창입니다.

반환 값

생성된 탭에 대한 세부 정보가 포함된 tabs.Tab (en-US) 객체로 이행되는 Promise입니다. 탭을 만들 수 없는 경우(예: url에 권한이 있는 스킴을 사용한 경우) 오류 메시지와 함께 프로미스가 거부됩니다.

browser.tabs.create()가 반환한 프로미스는 탭이 생성되는 즉시 리졸브됩니다. 탭은 아직 로드 중일 수 있습니다. 탭 로딩이 완료되었는지 확인하려면, tabs.create를 호출하기 전에 tabs.onUpdated (en-US) 또는 webNavigation.onCompleted (en-US) 이벤트를 수신하십시오.

예제

새 탭에서 "https://example.org" 열기.

js
function onCreated(tab) {
  console.log(`새 탭 생성: ${tab.id}`);
}

function onError(error) {
  console.log(`오류: ${error}`);
}

browser.browserAction.onClicked.addListener(() => {
  let creating = browser.tabs.create({
    url: "https://example.org",
  });
  creating.then(onCreated, onError);
});

Example extensions

브라우저 호환성

BCD tables only load in the browser

참고: 이 API는 Chromium의 chrome.tabs API를 기반으로 합니다. 이 문서는 Chromium 코드의 tabs.json에서 파생되었습니다.