Window - composite/nw.js GitHub Wiki

Window API κΈ°λŠ₯은 node-webkit v0.3.0 이상이 ν•„μš”ν•©λ‹ˆλ‹€.

Window κ°μ²΄λŠ” DOM의 window 객체λ₯Ό λŒ€μ²΄ν•©λ‹ˆλ‹€. 이 객체λ₯Ό 톡해 ν™•μž₯ν•˜κ±°λ‚˜ window 이벀트λ₯Ό μ œκ³΅λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  Window κ°μ²΄λŠ” EventEmitter ν΄λž˜μŠ€μ— μƒμ†λ˜μ–΄ Window.on(...) λ©”μ†Œλ“œλ₯Ό ν†΅ν•˜μ—¬ λ„€μ΄ν‹°λΈŒ μœˆλ„μš° 이벀트λ₯Ό 응닡받을 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‹œλ†‰μ‹œμŠ€

// native UI library λ₯Ό λΆˆλŸ¬μ˜΅λ‹ˆλ‹€.
var gui = require('nw.gui'); //λ˜λŠ” global.window.nwDispatcher.requireNwGui() (see https://github.com/rogerwang/node-webkit/issues/707)

// ν˜„μž¬ μœˆλ„μš° 객체λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.
var win = gui.Window.get();

// μœˆλ„μš° μ΅œμ†Œν™” 이벀트λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.
win.on('minimize', function() {
  console.log('Window is minimized');
});

// μœˆλ„μš°λ₯Ό μ΅œμ†Œν™”ν•©λ‹ˆλ‹€.
win.minimize();

// μ΅œμ†Œν™” 이벀트λ₯Ό λŠμŠ΅λ‹ˆλ‹€.
win.removeAllListeners('minimize');

// μƒˆ μœˆλ„μš°λ₯Ό 받은 ν›„ μœˆλ„μš° 객체λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.
var new_win = gui.Window.open('https://github.com');

// μœˆλ„μš°μ˜ `focus` 이벀트λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.
new_win.on('focus', function() {
  console.log('New window is focused');
});

레퍼런슀

get([window_object])

window_objectλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ ν˜„μž¬ μœˆλ„μš°μ˜ Window 객체λ₯Ό λ°›μœΌλ©°, κ·Έ μ™Έμ—λŠ” window_object의 Window 객체λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.

// ν˜„μž¬ μœˆλ„μš° 객체λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.
var win = gui.Window.get();

// μƒˆ μœˆλ„μš°λ₯Ό λ§Œλ“€κ³  μœˆλ„μš° 객체λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.
var new_win = gui.Window.open('https://github.com');

open(url[, options])

url 인터넷 μ£Όμ†Œλ₯Ό ν†΅ν•œ μƒˆ 창을 μƒμ„±ν•˜μ—¬ λΆˆλŸ¬μ˜΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ‘λ²ˆμ§Έ 인자인 options을 μ§€μ •ν•  수 μžˆλŠ”λ°, λͺ¨λ“  μœˆλ„μš°μ˜ ν•˜μœ„ ν•„λ“œλŠ” λ§€λ‹ˆνŽ˜μŠ€νŠΈ ν˜•μ‹μ„ λ”°λ¦…λ‹ˆλ‹€. v0.4.0 λΆ€ν„°λŠ” ν•˜μœ„ ν•„λ“œμ— new-instance λΆ€μšΈ 인자λ₯Ό μ§€μ •ν•  수 있고, μ§€μ •ν•˜λ©΄ μƒˆ μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ©λ‹ˆλ‹€. 그리고 v0.9.0 κ³Ό 0.8.5 μ—μ„œλŠ” inject-js-start 와 inject-js-end ν•„λ“œλ₯Ό 톡해 μžλ°”μŠ€ν¬λ¦½νŠΈ νŒŒμΌμ„ μ£Όμž…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ§€λ‹ˆνŽ˜μŠ€νŠΈ ν˜•μ‹μ„ μ°Έμ‘°ν•˜μ„Έμš”.

v0.7.3 λΆ€ν„°λŠ” μœˆλ„μš°κ°€ 열릴 경우 ν¬μ»€μŠ€λ˜μ§€ μ•ŠλŠ” μƒνƒœκ°€ κΈ°λ³Έκ°’μž…λ‹ˆλ‹€. μ΄λŠ” 각 ν”Œλž«νΌμ— 예기치 μ•Šμ€ 상황에 λŒ€λΉ„ν•˜κΈ° μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€. λ§Œμ•½ 포컀슀된 μƒνƒœλ₯Ό μ›ν•œλ‹€λ©΄ options ν•„λ“œμƒ focus ν•„λ“œμ— true λ₯Ό μ£Όλ©΄ λ©λ‹ˆλ‹€.

var win = gui.Window.open('https://github.com', {
  position: 'center',
  width: 901,
  height: 127
});

Window.window

λ„€μ΄ν‹°λΈŒ μœˆλ„μš° κ°μ²΄λ‘œλΆ€ν„° DOM의 window 객체λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.

Window.x/Window.y

ν™”λ©΄μ˜ κ°€λ‘œ/μ„Έλ‘œ μœ„μΉ˜λ₯Ό λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.

Window.width/Window.height

μœˆλ„μš° 크기λ₯Ό λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.

Window.title

μœˆλ„μš° 제λͺ© ν‘œμ‹œμ€„μ— μžˆλŠ” 제λͺ©μ„ λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.

Window.menu

μœˆλ„μš° 메뉴바λ₯Ό λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€. 메뉴바λ₯Ό μ„€μ •ν•˜λŠ” 방법은 메뉴 κΈ°λŠ₯을 μ°Έμ‘°ν•˜μ„Έμš”.

Window.isFullscreen

v0.3.5 λΆ€ν„° 지원

ν’€μŠ€ν¬λ¦° μ—¬λΆ€λ₯Ό λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.

Window.isTransparent

v0.11.2 λΆ€ν„° 지원

창의 투λͺ… μ—¬λΆ€λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.

Window.isKioskMode

since v0.3.5

ν‚€μ˜€μŠ€ν¬ λͺ¨λ“œ ν™œμ„±ν™” μ—¬λΆ€λ₯Ό λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€.

Window.zoomLevel

since v0.4.1

ν™•λŒ€ λΉ„μœ¨μ„ λ°›κ±°λ‚˜ μ„€μ •ν•©λ‹ˆλ‹€. 0은 κΈ°λ³Έ λΉ„μœ¨μ΄λ©°, μ–‘μˆ˜λ₯Ό 톡해 ν™•λŒ€ λΉ„μœ¨, 음수λ₯Ό 톡해 μΆ•μ†Œ λΉ„μœ¨μ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Window.moveTo(x, y)

μ§€μ •λœ μœˆλ„μš°μ˜ κ°€λ‘œμ™€ μ„Έλ‘œ μœ„μΉ˜λ₯Ό 슀크린 κΈ°μ€€μ—μ„œ μ΄λ™ν•©λ‹ˆλ‹€.

Window.moveBy(x, y)

μ§€μ •λœ μœˆλ„μš°μ˜ κ°€λ‘œμ™€ μ„Έλ‘œ μœ„μΉ˜λ₯Ό κΈ°μ‘΄ μœ„μΉ˜ κΈ°μ€€μ—μ„œ μ΄λ™ν•©λ‹ˆλ‹€.

Window.resizeTo(width, height)

μ§€μ •λœ μœˆλ„μš°μ˜ κ°€λ‘œμ™€ μ„Έλ‘œ 크기λ₯Ό 슀크린 κΈ°μ€€μ—μ„œ λ³€κ²½ν•©λ‹ˆλ‹€.

Window.resizeBy(width, height)

μ§€μ •λœ μœˆλ„μš°μ˜ κ°€λ‘œμ™€ μ„Έλ‘œ 크기λ₯Ό κΈ°μ‘΄ ν¬κΈ°μ—μ„œ λ³€κ²½ν•©λ‹ˆλ‹€.

Window.focus()

μœˆλ„μš°λ₯Ό μ΅œμƒμœ„λ‘œ 보이게 ν•©λ‹ˆλ‹€.

Window.blur()

μœˆλ„μš°λ₯Ό λ’€λ‘œ λΊλ‹ˆλ‹€. μ΄λŠ” λ‹€λ₯Έ μœˆλ„μš° 포컀슀λ₯Ό λΆ€μ—¬ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€. λͺ‡λͺ‡ ν”Œλž«νΌμ€ 이 κ°œλ…μ΄ 없을 수 μžˆμŠ΅λ‹ˆλ‹€.

Window.show()

μœˆλ„μš°κ°€ 보이지 μ•Šμ„ 경우 보이게 ν•©λ‹ˆλ‹€. λͺ‡λͺ‡ ν”Œλž«νΌμ—μ„œ ν¬μ»€μŠ€λ˜μ§€ μ•ŠμœΌλ©΄ 보이게 ν•  수 μ—†μœΌλ―€λ‘œ focus λ¨Όμ € μ‹€ν–‰ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

show(false) μ΄λ ‡κ²Œ ν˜ΈμΆœν•˜λ©΄ hide() λ©”μ†Œλ“œμ™€ λ™μΌν•œ νš¨κ³Όκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

Window.hide()

μœˆλ„μš°λ₯Ό μˆ¨κΉλ‹ˆλ‹€. μ‚¬μš©μžλŠ” ν•΄λ‹Ή μœˆλ„μš° 화면을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

Window.close([force])

ν˜„μž¬ μœˆλ„μš°λ₯Ό λ‹«μŠ΅λ‹ˆλ‹€. 이 λ•Œ, Window 객체의 close 이벀트λ₯Ό 톡해 막을 수 μžˆμŠ΅λ‹ˆλ‹€. 단, force κ°€ true일 경우 이벀트 호좜 없이 λ‹«κ²Œ λ©λ‹ˆλ‹€.

close λ₯Ό κ·Έλƒ₯ ν˜ΈμΆœν•˜μ—¬ μ •λ§λ‘œ 닫을 것인지 묻고, close(true) λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ •λ§λ‘œ 닫도둝 ν•˜λŠ” 방식에 μœ μš©ν•©λ‹ˆλ‹€.

win.on('close', function() {
  this.hide(); // 이미 λ‹«μ•˜λ‹€λŠ” 효과λ₯Ό λΆ€μ—¬
  console.log("We're closing...");
  this.close(true);
});

win.close();

Window.reload()

node-webkit v0.3.5 λΆ€ν„° 지원

ν˜„μž¬ μœˆλ„μš°λ₯Ό μƒˆλ‘œκ³ μΉ©λ‹ˆλ‹€.

Window.reloadDev()

0.4.0 λΆ€ν„° 지원
ν˜„μž¬ νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œμš΄ λ Œλ”λŸ¬ ν”„λ‘œμ„ΈμŠ€λ‘œ ν™œμ„±ν™”ν•˜μ—¬ μƒˆλ‘œκ³ μΉ©λ‹ˆλ‹€. νˆ΄λ°” 상단 였λ₯Έμͺ½μ˜ μƒˆλ‘œκ³ μΉ¨ λ²„νŠΌ μ—­ν• κ³Ό λ™μΌν•©λ‹ˆλ‹€.

Window.reloadIgnoringCache()

node-webkit v0.3.5 λΆ€ν„° 지원_

일반 μƒˆλ‘œκ³ μΉ¨κ³ΌλŠ” 달리 μΊμ‹œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ("shift-reload" 둜 μ•Œλ €μ§).

Window.maximize()

μœˆλ„μš°μ™€ GTK μ—μ„œλŠ” μ΅œλŒ€ν™” 역할을 μˆ˜ν–‰ν•˜κ³ , Mac OS X μ—μ„œλŠ” μœˆλ„μš°λ₯Ό ν™•λŒ€ν•©λ‹ˆλ‹€.

Window.unmaximize()

μ΅œλŒ€ν™”ν•œ μœˆλ„μš°λ₯Ό μ΄ˆκΈ°μƒνƒœλ‘œ λ˜λŒλ¦½λ‹ˆλ‹€.

Window.minimize()

보톡 μ΅œμ†Œν™”μ™€ λ™μΌν•©λ‹ˆλ‹€. Mac OS X λŠ” 보톡 μ§€λ‹ˆ λž¨ν”„ μ• λ‹ˆλ©”μ΄μ…˜μœΌλ‘œ μ΅œμ†Œν™”ν•˜λŠ” 효과λ₯Ό κ°€μ§ˆ κ²λ‹ˆλ‹€.

Window.restore()

μ΅œμ†Œν™”λœ μƒνƒœλ₯Ό λ˜λŒλ¦½λ‹ˆλ‹€. 이름을 restore둜 지은 μ΄μœ λŠ” μœˆλ„μš° minimize 의 λ°˜λŒ€ κ°œλ…μ΄ restore이기 λ•Œλ¬Έμž…λ‹ˆλ‹€.

Window.enterFullscreen()

ν’€μŠ€ν¬λ¦° λͺ¨λ“œλ‘œ λ“€μ–΄κ°‘λ‹ˆλ‹€. μ΄λŠ” HTML5의 ν’€μŠ€ν¬λ¦° κ°œλ…κ³Ό ν‹€λ¦½λ‹ˆλ‹€. nw.js λŠ” μ‚¬μš©μž μŠΉμΈμ—¬λΆ€λ₯Ό 묻지도 μ•Šκ³  λ”°μ§€μ§€ μ•Šκ³  전체 화면을 ν˜„μž¬ ν™”λ©΄μœΌλ‘œ μ΅œλŒ€ν™” μ‹œν‚΅λ‹ˆλ‹€.

Window.leaveFullscreen()

ν’€μŠ€ν¬λ¦° λͺ¨λ“œλ₯Ό λΉ μ Έλ‚˜κ°‘λ‹ˆλ‹€.

Window.toggleFullscreen()

node-webkit v0.3.5 λΆ€ν„° 지원

ν’€μŠ€ν¬λ¦° λͺ¨λ“œλ₯Ό μ•„λ‹ˆλ©΄ λ“€μ–΄κ°€κ³ , λ“€μ–΄κ°”λ‹€λ©΄ λΉ μ Έλ‚˜κ°€κ²Œ ν•©λ‹ˆλ‹€.

Window.enterKioskMode()

node-webkit v0.3.1 λΆ€ν„° 지원

ν‚€μ˜€μŠ€ν¬ λͺ¨λ“œλ‘œ λ“€μ–΄κ°‘λ‹ˆλ‹€. ν‚€μ˜€μŠ€ν¬ λͺ¨λ“œμ— λ“€μ–΄κ°€κ²Œ 되면, ν’€μŠ€ν¬λ¦° μƒνƒœλ‘œ λ“€μ–΄κ°€κ²Œ 되며, μ‚¬μš©μžλŠ” μ•±μ—μ„œ λͺ» λΉ μ Έλ‚˜κ°€κ²Œ λ©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ λΉ μ Έλ‚˜κ°€κ²Œ ν•˜λ €λ©΄ μ•±μ—μ„œ ν‚€μ˜€μŠ€ν¬λͺ¨λ“œλ₯Ό λΉ μ Έλ‚˜κ°€κ²Œ ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λŠ” ν”„λ¦¬μ  ν…Œμ΄μ…˜μ΄λ‚˜ κ²Œμž„ 앱에 μœ μš©ν•©λ‹ˆλ‹€.

Window.leaveKioskMode()

node-webkit v0.3.1 λΆ€ν„° 지원

ν‚€μ˜€μŠ€ν¬ λͺ¨λ“œμ—μ„œ λΉ μ Έ λ‚˜κ°‘λ‹ˆλ‹€.

Window.toggleKioskMode()

node-webkit v0.3.5 λΆ€ν„° 지원

ν‚€μ˜€μŠ€ν¬ λͺ¨λ“œκ°€ μ•„λ‹ˆλ©΄ λ“€μ–΄κ°€κ³ , λ“€μ–΄κ°”λ‹€λ©΄ λΉ μ Έλ‚˜κ°‘λ‹ˆλ‹€.

Window.setTransparent(transparent)

v0.11.2 λΆ€ν„° 지원

투λͺ…ν™” λͺ¨λ“œλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. μžμ„Έν•œ 사항은 https://github.com/rogerwang/node-webkit/wiki/Transparency λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

Window.showDevTools([id | iframe, headless])

ν•΄λ‹Ή 창의 개발자 도ꡬλ₯Ό ν™œμ„±ν™”ν•©λ‹ˆλ‹€.

id μΈμžλŠ” 0.6.0λΆ€ν„° μ§€μ›ν•˜λŠ”λ°, iframe μš”μ†Œμ˜ id이여야 ν•©λ‹ˆλ‹€. 이λ₯Ό μ§€μ •ν•˜κ²Œ 되면 ν•΄λ‹Ή iframe λ‚΄μ—μ„œλ§Œ 개발자 도ꡬ가 ν™œμ„±ν™”ν•˜κ²Œ λ©λ‹ˆλ‹€. id κ°€ 빈 λ¬Έμžμ—΄μ΄λ©΄ λ‹Ήμ—°νžˆ ν™œμ„±ν™”λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

headless μΈμžλŠ” 0.6.0λΆ€ν„° μ§€μ›ν•˜λŠ”λ°, true둜 지정될 경우 개발자 λ„κ΅¬λŠ” 열리지 μ•Šμ§€λ§Œ, 개발자 도ꡬ가 μ—΄λ Έλ‹€λ©΄ devtools-opened 속성이 Window 객체에 μ „λ‹¬λ©λ‹ˆλ‹€.

iframe μΈμžλŠ” id 인자 λŒ€μ²΄λ‘œ 0.7.2λΆ€ν„° μ§€μ›ν•©λ‹ˆλ‹€. λ°˜λ“œμ‹œ iframe μš”μ†Œμ—¬μ•Ό ν•˜λ©°, νš¨κ³ΌλŠ” id μΈμžμ™€ λ™μΌν•©λ‹ˆλ‹€.

μžμ„Έν•œ 사항은 개발자 도ꡬ 격리기λŠ₯ 을 μ°Έκ³ ν•˜μ„Έμš”.

0.8.1 λΆ€ν„°λŠ” headless κ°€ false (λ˜λŠ” μ„€μ •λ˜μ§€ μ•ŠμŒ)μž„μ— ν•œμ •ν•˜μ—¬ Window 객체λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 개발자 λ„κ΅¬μ˜ Window 객체λ₯Ό 받을 수 μžˆμœΌλ‚˜ 아직 μ΄λ²€νŠΈλŠ” μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Window.closeDevTools()

v0.7.3 λΆ€ν„° 지원

개발자 도ꡬλ₯Ό λ‹«μŠ΅λ‹ˆλ‹€.

Window.isDevToolsOpen()

v0.8.0 λΆ€ν„° 지원

개발자 도ꡬ가 μ—΄λ €μžˆλŠ”μ§€ μ•Œλ €μ€λ‹ˆλ‹€. μ°Έκ³ : headless κ°€ true 이면 이 λ©”μ†Œλ“œλŠ” 항상 false λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

Window.setMaximumSize(width, height)

μœˆλ„μš°μ˜ κ°€μš© κ°€λŠ₯ν•œ μ΅œλŒ€ 크기λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

Window.setMinimumSize(width, height)

μœˆλ„μš°μ˜ κ°€μš© κ°€λŠ₯ν•œ μ΅œμ†Œ 크기λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

Window.setResizable(Boolean resizable)

μœˆλ„μš°μ˜ 크기 쑰절 κ°€λŠ₯ μ—¬λΆ€λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

Window.setAlwaysOnTop(Boolean top)

node-webkit v0.3.4 이상 지원

μœˆλ„μš° μ‹œμŠ€ν…œμ—μ„œ ν•΄λ‹Ή μ•± μœˆλ„μš°λ₯Ό 항상 μœ„λ‘œ λ„μ›Œμ£ΌλŠ” μ—¬λΆ€λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

Window.setVisibleOnAllWorkspaces(Boolean)

v0.11.3 λΆ€ν„° 지원

닀쀑 μž‘μ—…ν™”λ©΄ (ν˜„μž¬ Linux와 Mac OS X 지원. μ—­μ£Ό: Windows λŠ” 10 λΆ€ν„° 지원할 λ“―)을 ν™œμ„±ν™”ν•˜λ©° λͺ¨λ“  μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ— nw.js μœˆλ„μš°λ₯Ό 보이도둝 ν•©λ‹ˆλ‹€.

μ˜ˆμ œλŠ” λ‹€μŒ 링크λ₯Ό μ°Έκ³ ν•˜μ„Έμš”. visible_on_all_workspaces manual test.

μžμ„Έν•œ 사항은 https://github.com/rogerwang/node-webkit/issues/2523 λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

Window.canSetVisibleOnAllWorkspaces()

v0.11.3 λΆ€ν„° 지원

μœ„ λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€. λ‹Ήμ—°νžˆ Mac OS X와 λ¦¬λˆ…μŠ€μ—μ„œλ§Œ ν˜„μž¬ μ§€μ›ν•©λ‹ˆλ‹€.

Window.setPosition(String position)

μœˆλ„μš° μœ„μΉ˜λͺ…을 μ„€μ •ν•˜μ—¬ μœˆλ„μš° μœ„μΉ˜λ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€. ν˜„μž¬ λͺ¨λ“  ν”Œλž«νΌμ—μ„œλŠ” center κ°€ μ§€μ›λ˜λ©°, μ • κ°€μš΄λ°λ‘œ μœˆλ„μš°κ°€ λ„μ›Œμ§‘λ‹ˆλ‹€.

Window.setShowInTaskbar(Boolean show)

v0.9.2 λΆ€ν„° 지원

μœˆλ„μš°λ‚˜ λ¦¬λˆ…μŠ€μ˜ μž‘μ—… ν‘œμ‹œμ€„ λ˜λŠ” λ§₯의 독 μ•„μ΄μ½˜μ— ν™œμ„±ν™” μ—¬λΆ€λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. λ§€λ‹ˆνŽ˜μŠ€νŠΈ ν˜•μ‹ 의 show_in_taskbar 속성을 μ°Έκ³ ν•˜μ„Έμš”.

Window.requestAttention(Boolean attention)

true둜 μ„€μ •ν•  경우 μ‚¬μš©μžλŠ” ν•΄λ‹Ή 창을 λ°˜λ“œμ‹œ 보도둝 μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (μ—­μžμ£Ό: κ²½κ³  λŒ€ν™”μƒμž 같은 μ—­ν• ) false 둜 ν•΄μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν”Œλž«νΌ 행동에 λ”°λ¦…λ‹ˆλ‹€.

Window.requestAttention(Integer count)

v0.10.2 λΆ€ν„° 지원

μœ„ λ©”μ†Œλ“œμ™€ λΉ„μŠ·ν•˜μ§€λ§Œ μœˆλ„μš°μ˜ 경우 μ‚¬μš©μžκ°€ λ°˜λ“œμ‹œ 봐야 ν•˜λŠ” κΉœλ°•μž„ ν‘œμ‹œ 횟수λ₯Ό μ„€μ •ν•  수 μžˆλ‹€λŠ” μ μ—μ„œ λ‹€λ¦…λ‹ˆλ‹€.
λ§₯μ—μ„œλŠ” 값이 μ–‘μˆ˜μΌ 경우 NSCriticalRequest νŠΈλ¦¬κ±°κ°€ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ 값이 음수이면 NSInformationalRequest 트리거λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.
λ¦¬λˆ…μŠ€μ—μ„œλŠ” boolean λ²„μ „μ˜ λ©”μ†Œλ“œμ™€ λ™μΌν•œ 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€. 즉, μˆ«μžκ°€ μ μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Window.capturePage(callback [, image_format | config_object ])

v0.4.2λΆ€ν„° 지원

λ³΄μ΄λŠ” μœˆλ„μš° μ˜μ—­μ„ μΊ‘μ³ν•©λ‹ˆλ‹€. 데λͺ¨λŠ” https://gist.github.com/zhchbin/4749217 μ—μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

callback 은 이미지 데이터가 쀀비될 κ²½μš°μ— λŒ€ν•œ 이벀트 콜백 ν•¨μˆ˜μ—¬μ•Ό ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œμš”:

function(dataUrl) {...};

dataURL(string) 을 ν†΅ν•΄μ„œ data:uri 둜 인코딩 된 이미지 데이터 λ¬Έμžμ—΄μ„ λ°›μ•„ 이미지 νƒœκ·Έμ˜ src 속성에 놓을 수 μžˆμŠ΅λ‹ˆλ‹€.

image_format μΈμžλŠ” ["jpeg", "png"] 쀑 ν•˜λ‚˜λ₯Ό μ§€μ›ν•˜λ©°. 기본값은 'jpeg' μž…λ‹ˆλ‹€.

v0.9.3λΆ€ν„° 지원

μ—¬κΈ°μ„œλΆ€ν„° datatype 속성을 config_object 인자둜 μ •μ˜ν•˜μ—¬ 이미지 데이터 방식을 μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

객체의 μ“°μž„μƒˆλŠ” μ΄λ ‡μŠ΅λ‹ˆλ‹€:

{ 
 format : "[jpeg|png]", 
 datatype : "[raw|buffer|datauri]" 
}

기본적으둜:
format 속성은 jpeg
datatype 속성은 datauri

예제:

// png λ₯Ό base64string 으둜 λ°›μŒ
win.capturePage(function(base64string){
 // base64string 을 핸듀링
}, { format : 'png', datatype : 'raw'} );

// png λ₯Ό node.js buffer 객체둜 λ°›μŒ
win.capturePage(function(buffer){
 // buffer 둜 핸듀링
}, { format : 'png', datatype : 'buffer'} );

setProgressBar(progress)

v0.10.2 λΆ€ν„° 지원
유효 값은 0 λΆ€ν„° 1 κΉŒμ§€ μž…λ‹ˆλ‹€.
val < 0 일 경우 ν”„λ‘œκ·Έλž˜μŠ€ λ°”κ°€ μ—†μ–΄μ§‘λ‹ˆλ‹€.
val > 1 일 경우 진행쀑인 ν”„λ‘œκ·Έλž˜μŠ€λ°”μž„μ„ ν‘œμ‹œν•©λ‹ˆλ‹€.
λ¦¬λˆ…μŠ€μ˜ 경우 ν˜„μž¬ μš°λΆ„νŠΈμ—μ„œλ§Œ μ§€μ›λ©λ‹ˆλ‹€. 그리고 .desktop νŒŒμΌμ— NW_DESKTOP ν™˜κ²½ λ³€μˆ˜λ₯Ό μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλ ‡μ§€ μ•Šμ„ 경우 nw.desktop 으둜 μΈμ‹λ©λ‹ˆλ‹€.

setBadgeLabel(label)

v0.10.0-rc1 λΆ€ν„° 지원

μœˆλ„μš°μ™€ λ§₯μ—μ„œ μ§€μ›λ©λ‹ˆλ‹€. 뱃지 λ ˆμ΄λΈ”μ„ μœˆλ„μš° μ•„μ΄μ½˜κ³Ό ν•¨κ»˜ μž‘μ—… ν‘œμ‹œμ€„ λ˜λŠ” λ…μ—μ„œ ν‘œμ‹œλ˜λ„λ‘ μ„€μ •ν•©λ‹ˆλ‹€.
v0.10.2 λΆ€ν„° 지원 λ¦¬λˆ…μŠ€μ˜ 경우 μš°λΆ„νˆ¬μ—μ„œ μ§€μ›λ˜μ§€λ§Œ 숫자만 λ“€μ–΄κ°„ λ¬Έμžμ—΄μ΄ μ§€μ›λ˜λ©°, setProgressBar λ©”μ†Œλ“œμ™€ 같이 .desktop 에 ν™˜κ²½λ³€μˆ˜λ₯Ό μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Window.cookies.*

v0.8.1 λΆ€ν„° 지원

μΏ ν‚€λ₯Ό κ΄€λ¦¬ν•˜λŠ” λ©”μ†Œλ“œλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. 이 APIλŠ” 크둬 ν™•μž₯κ³Ό κ°™μŠ΅λ‹ˆλ‹€. nw.js μ—μ„œλŠ” get, getAll, remove, 그리고 set λ©”μ†Œλ“œκ°€ μ§€μ›λ˜λ©°, onChanged μ΄λ²€νŠΈκ°€ addListener 와removeListener 이벀트 λ©”μ†Œλ“œμ—μ„œ μ§€μ›λ©λ‹ˆλ‹€.

그리고 크둬 ν™•μž₯ API 의 CookieStore 에 기재된 λ©€λ²„λŠ” μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. nw.js λŠ” μΏ ν‚€κ°€ μ „μ—­μœΌλ‘œλ§Œ μ§€μ›ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

Window.eval(frame, script)

v0.9.0 κ³Ό v0.8.5 λΆ€ν„° 지원

frame 이 null μ΄κ±°λ‚˜, iframe μš”μ†Œ 내이면 ν˜„μž¬ μ°½ κΈ°μ€€μœΌλ‘œ μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰λ˜κ³ , frame 이 iframe μš”μ†Œμ΄λ©΄, ν•΄λ‹Ή iframe κΈ°μ€€μœΌλ‘œ 슀크립트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. script μΈμžλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ μ†ŒμŠ€ μ½”λ“œ λ¬Έμžμ—΄μž…λ‹ˆλ‹€.

Window.evalNWBin(frame, path)

v0.12.0-rc1 λΆ€ν„° 지원

nwjc λ₯Ό ν†΅ν•˜μ—¬ 컴파일된 μžλ°”μŠ€ν¬λ¦½νŠΈ λ°”μ΄λ„ˆλ¦¬λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. frame 이 nullμ΄κ±°λ‚˜ iframe 내이면 μœˆλ„μš° κΈ°μ€€, frame μΈμžκ°€ iframe μš”μ†Œμ΄λ©΄ ν•΄λ‹Ή iframe λ‚΄μ—μ„œ μ‹€ν–‰ν•©λ‹ˆλ‹€. nwjc 슀크립트 μ»΄νŒŒμΌλ§μ€ https://github.com/nwjs/nw.js/wiki/Protect-JavaScript-source-code-with-v8-snapshot 링크λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

이벀트

여기에 λ‚˜μ—΄λœ μ΄λ²€νŠΈλŠ” Window.on() ν•¨μˆ˜μ—μ„œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이벀트 λ‹€λ£¨λŠ” λ°©λ²•μ˜ μžμ„Έν•œ 사항은 EventEmitter λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

close

close μ΄λ²€νŠΈλŠ” 창이 λ‹«νžˆλŠ” Window.close() ν•¨μˆ˜κ°€ 싀행될 λ•Œ λ°œμƒλ˜λŠ” νŠΉλ³„ν•œ μ΄λ²€νŠΈμž…λ‹ˆλ‹€. κ°œλ°œμžκ°€ close 이벀트λ₯Ό μ„€μ •ν•˜λ©΄, Window.close() ν•¨μˆ˜λŠ” μœˆλ„μš°λ₯Ό λ‹«λŠ” λŒ€μ‹  close 이벀트λ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€.

close 이벀트λ₯Ό 톡해 μ‚¬μš©μžκ°€ 앱이 λ‹«νžˆλŠ” μ‹œμ μ„ 작고, this.close(true) 둜 μ™„μ „νžˆ 창이 λ‹«νžˆκ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이후 λ”μ΄μƒμ˜ μž‘μ—…μ€ μ—†μŠ΅λ‹ˆλ‹€. λ§Œμ•½ μ‹€μ œλ‘œ λ‹«μ•„μ•Ό ν•  close() ν•¨μˆ˜μ— true 인자λ₯Ό μ£Όμ§€ μ•Šκ²Œ 되면 close μ΄λ²€νŠΈκ°€ λ¬΄ν•œ ν˜ΈμΆœλ˜λŠ” μ‚¬νƒœκ°€ λ°œμƒλ©λ‹ˆλ‹€.

그리고 앱이 λ‹«νžˆλŠ” μž‘μ—…μ€ μ’€ κ±Έλ¦½λ‹ˆλ‹€. μ‚¬μš©μžλŠ” 앱이 μ’…λ£Œλ˜λŠ”λ° 느리게 λ‹«νžˆλŠ” κ±Έ λŠλ‚„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이건 μ•„λ¬΄λž˜λ„ μ’‹μ§€ μ•Šμ€ μ‚¬μš©μž κ²½ν—˜μ΄μ£ . κ·Έλž˜μ„œ hide λ©”μ†Œλ“œλ₯Ό ν†΅ν•˜μ—¬ μ‹€μ œλ‘œ 앱이 λ‹«νžˆλŠ” λ™μ‹œμ— 창을 숨겨 λ°”λ‘œ λ‹«νžˆλŠ” κ²ƒμ²˜λŸΌ ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš© μ˜ˆμ œμ— λŒ€ν•΄μ„œλŠ” Window.close() 의 데λͺ¨ μ½”λ“œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

0.8.4 버전뢀터 λ§₯μ—μ„œλŠ” 콜백 μΈμžμ—μ„œ Cmd-Q μ’…λ£Œ 단좕킀λ₯Ό λˆ„λ₯Ό κ²½μš°μ—λ§Œ quit λ©”μ‹œμ§€λ₯Ό λ°›κ²Œ 될 것이며, κ·Έ μ™Έμ—λŠ” undefined κ°€ λ©λ‹ˆλ‹€. μžμ„Έν•œ 사항은 https://github.com/rogerwang/node-webkit/issues/430 λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

closed

창이 λ‹«νžˆκ³  λ‚œ λ‹€μŒ λ°œμƒν•˜λŠ” μ΄λ²€νŠΈμž…λ‹ˆλ‹€. 보톡 이 μ΄λ²€νŠΈλŠ” 앱이 μ™„μ „νžˆ λ‹«νžˆκ²Œ 되면 λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ—¬λŸ¬ 창을 μ—΄μ—ˆμ„ 경우, λ‹€λ₯Έ 창을 λ‹«κ²Œ 된 λ‹€λ©΄ 이 μ΄λ²€νŠΈκ°€ λ°œμƒλ˜μ–΄ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<script>
  var gui = require('nw.gui');

  // μœˆλ„μš°λ₯Ό μ—½λ‹ˆλ‹€.
  var win = gui.Window.open('popup.html');

  // μœˆλ„μš°κ°€ λ‹«νžŒ λ‹€μŒμ˜ 이벀트λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
  win.on('closed', function() {
    win = null;
  });

  // 메인 μœˆλ„μš°κ°€ λ‹«νž 경우의 이벀트λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
  gui.Window.get().on('close', function() {
    // 창을 숨겨 μ‚¬μš©μžκ°€ λ°”λ‘œ μ’…λ£Œλœ λŠλ‚Œμ„ 주도둝 ν•©λ‹ˆλ‹€.
    this.hide();

    // μƒˆ 창이 아직도 열렸을 경우 μ™„μ „νžˆ μ’…λ£Œν•©λ‹ˆλ‹€.
    if (win != null)
      win.close(true);

    // λ‹€λ₯Έ 창이 μ’…λ£Œλœ ν›„ 메인 창도 μ™„μ „νžˆ μ’…λ£Œν•©λ‹ˆλ‹€.
    this.close(true);
  });
</script>

loading

node-webkit v0.3.5 이상 지원

μœˆλ„μš°μ˜ μ›Ή νŽ˜μ΄μ§€λ₯Ό 뢈러였기 μ‹œμž‘ν•  경우 λ°œμƒν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 보톡 이 이벀트λ₯Ό μž‘μ„ 수 μ—†λŠ”λ° 이 μ΄λ²€νŠΈκ°€ μ„€μ •λ˜κΈ°λ„ 전에 λ°œμƒλ˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

λŒ€μ‹ , λ‹€λ₯Έ 창의 μ΄λ²€νŠΈμ—μ„œ νŽ˜μ΄μ§€ 뢈러였기λ₯Ό μ‹œμž‘ν•  κ²½μš°μ—λŠ” μž‘μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

loaded

node-webkit v0.3.5 이상 지원

μœˆλ„μš° λ‚΄ νŽ˜μ΄μ§€κ°€ λͺ¨λ‘ λΆˆλŸ¬μ™€μ§€λ©΄ λ°œμƒν•©λ‹ˆλ‹€. window.onload μ™€λŠ” λΉ„μŠ·ν•˜μ§€λ§Œ DOM κ³ΌλŠ” 영ν–₯λ°›μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

document-start

v0.9.0 λ˜λŠ” v0.8.5 λΆ€ν„° 지원

function (frame) {} CSS 파일이 뢈러온 ν›„ λ¬Έμ„œ μš”μ†Œ λ˜λŠ” μžμ‹ ν”„λ ˆμž„μ΄ ν™œμ„±ν™”λ  경우 λ°œμƒν•©λ‹ˆλ‹€. 단, DOM이 μ„€κ³„λ˜κ±°λ‚˜ 슀크립트 μ‹€ν–‰λ˜κΈ° μ „ μ‹œμ μž…λ‹ˆλ‹€.

  • frame 은 iframe μš”μ†Œμž…λ‹ˆλ‹€, null 이면 μœˆλ„μš°μž…λ‹ˆλ‹€.

같이보기: λ§€λ‹ˆνŽ˜μŠ€νŠΈ ν˜•μ‹μ˜ inject-js-start 속성

document-end

v0.9.0 λ˜λŠ” v0.8.5 λΆ€ν„° 지원

function (frame) {}
Emitted when the document object in this window or a child iframe is loaded, before the onload event is emitted. λ¬Έμ„œ μš”μ†Œλ‚˜ μœˆλ„μš°μ˜ μžμ‹ ν”„λ ˆμž„μ΄ λΆˆλŸ¬μ™€ DOM 섀계가 λͺ¨λ‘ 끝났을 경우 onload λ°œμƒ 전에 λ°œμƒν•©λ‹ˆλ‹€.

  • frame 은 iframe μš”μ†Œμž…λ‹ˆλ‹€, null 이면 μœˆλ„μš°μž…λ‹ˆλ‹€.

같이보기: λ§€λ‹ˆνŽ˜μŠ€νŠΈ ν˜•μ‹μ˜ inject-js-end 속성

focus

μœˆλ„μš°κ°€ μ΅œμƒμœ„λ‘œ 보일 κ²½μš°μ— λ°œμƒν•©λ‹ˆλ‹€.

blur

μœˆλ„μš°κ°€ λ‹€λ₯Έ μœˆλ„μš°λ‘œ κ°€λ €μ Έ μžˆμ„ λ•Œ λ°œμƒν•©λ‹ˆλ‹€.

minimize

μœˆλ„μš°κ°€ μ΅œμ†Œν™”ν•  경우 λ°œμƒν•©λ‹ˆλ‹€.

restore

μ΅œμ†Œν™” ν›„ μ›μƒνƒœλ‘œ λ˜λŒμ•„κ°ˆ 경우 λ°œμƒν•©λ‹ˆλ‹€.

maximize

μœˆλ„μš°κ°€ μ΅œλŒ€ν™”λ  경우 λ°œμƒν•©λ‹ˆλ‹€.

unmaximize

μ΅œλŒ€ν™”λœ μœˆλ„μš°κ°€ μ›μƒνƒœλ‘œ 볡귀될 λ•Œ λ°œμƒν•©λ‹ˆλ‹€. λͺ‡λͺ‡ ν”Œλž«νΌμ€ μ΅œλŒ€ν™”ν•  λ•Œ μœˆλ„μš° 크기가 μ‘°μ ˆλ˜λŠ” 방식일 경우 unmaximize μ΄λ²€νŠΈκ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

move

v0.8.2 λΆ€ν„° 지원

μœˆλ„μš°κ°€ 이동할 경우 λ°œμƒν•©λ‹ˆλ‹€. 이 λ•Œ μ½œλ°±μ—μ„œλŠ” μ΄λ™ν•œ ν›„ κ°€λ‘œ, μ„Έλ‘œ μœ„μΉ˜λ₯Ό λ°›μ•„λ‚΄λŠ” 2개의 μΈμžκ°€ (x, y) μ—μ„œ μ œκ³΅ν•©λ‹ˆλ‹€.

resize

v0.8.2 λΆ€ν„° 지원

μœˆλ„μš° 크기가 쑰절될 경우 λ°œμƒν•©λ‹ˆλ‹€. 이 λ•Œ μ½œλ°±μ—μ„œλŠ” 쑰절된 ν›„ κ°€λ‘œ, μ„Έλ‘œ 크기λ₯Ό λ°›μ•„λ‚΄λŠ” 2개의 μΈμžκ°€ (width, height) μ—μ„œ μ œκ³΅ν•©λ‹ˆλ‹€.

enter-fullscreen

ν’€μŠ€ν¬λ¦°μ΄ ν™œμ„±ν™”λ  경우 λ°œμƒν•©λ‹ˆλ‹€.

leave-fullscreen

ν’€μŠ€ν¬λ¦°μ—μ„œ λΉ μ Έλ‚˜κ°ˆ 경우 λ°œμƒν•©λ‹ˆλ‹€.

zoom

μœˆλ„μš°μ˜ ν™•λŒ€/μΆ•μ†Œ 배율이 변경될 경우 λ°œμƒν•©λ‹ˆλ‹€. 이 λ•Œ μΈμžμ—μ„œλŠ” 이후 ν™•λŒ€μΆ•μ†Œ λΉ„μœ¨μ„ λ°›μ•„λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€. Window.zoom λ©”μ†Œλ“œλ₯Ό 톡해 λ°°μœ¨κ°’μ„ μ°Έμ‘°ν•˜μ„Έμš”.

capturepagedone

μœˆλ„μš° 캑쳐가 μ™„λ£Œλ˜κ³  이미지 데이터가 μ€€λΉ„λœ 경우 λ°œμƒν•©λ‹ˆλ‹€. μ½œλ°±μ€ Window.capturePage λ©”μ†Œλ“œμ˜ μ½œλ°±μ„ μ°Έκ³ ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

devtools-opened

μ–΄λ– ν•œ 경우 상관없이 개발자 도ꡬ가 ν™œμ„±ν™”λœ 경우 λ°œμƒν•©λ‹ˆλ‹€. (0.8.0λΆ€ν„°), λ˜λŠ” Window.showDevTools(id, headless) μ—μ„œheadless = true 둜 μ„€μ •ν•œ κ²½μš°μ—λ„ λ°œμƒν•©λ‹ˆλ‹€. μ½œλ°±μ—μ„œλŠ” url 인자λ₯Ό λ°›μœΌλ©°, μ΄λŠ” 뢈러온 개발자 도ꡬ UI의 μ£Όμ†Œλ₯Ό λ‚˜νƒœλƒ…λ‹ˆλ‹€. 개발자 도ꡬ 격리기λŠ₯ κ³Ό μœˆλ„μš° λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

devtools-closed

v0.8.0 λΆ€ν„° 지원

개발자 도ꡬ가 λ‹«νž 경우 λ°œμƒλ©λ‹ˆλ‹€.

new-win-policy

v0.9.0 κ³Ό v0.8.5 λΆ€ν„° 지원

function (frame, url, policy) {}

ν˜„μž¬ μœˆλ„μš° λ˜λŠ” μžμ‹ ν”„λ ˆμž„μ΄ μƒˆ μ°½ μ—΄κΈ°λ₯Ό μš”μ²­ν•  경우 λ°œμƒν•©λ‹ˆλ‹€. (예: μ‚¬μš©μžκ°€ _blank κΈ°μ€€μ˜ 링크λ₯Ό μ—΄μ–΄ μƒˆ 창이 λ„μ›Œμ§ˆ 경우)

  • frame μΈμžλŠ” μƒˆ μ°½μ„μš”μ²­ν•œ κ°μ²΄λ‚˜ μžμ‹ ν”„λ ˆμž„μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. null 이면 메인 μœˆλ„μš°λ₯Ό κ°€λ¦¬ν‚΅λ‹ˆλ‹€.
  • url 은 μš”μ²­ν•œ 링크 μ£Όμ†Œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  • policy λŠ” μ•„λž˜ λ©”μ†Œλ“œλ₯Ό ν¬ν•¨ν•œ κ°μ²΄μž…λ‹ˆλ‹€.
  • ignore() : μš”μ²­μ„ λ¬΄μ‹œν•˜λ©° 아무 일도 μΌμ–΄λ‚˜μ§€ μ•Šκ²Œ ν•©λ‹ˆλ‹€.
  • forceCurrent() : ν•΄λ‹Ή ν”„λ ˆμž„μ— 무쑰건 ν‘œμ‹œν•˜λ„λ‘ ν•©λ‹ˆλ‹€.
  • forceDownload() : 무쑰건 λ‹€μš΄λ‘œλ“œ λ˜λŠ” μ—°κ²°λœ ν”„λ‘œκ·Έλž¨μ— 열도둝 ν•©λ‹ˆλ‹€.
  • forceNewWindow() : 무쑰건 μƒˆ 창으둜 μ—΄κ²Œ λ§Œλ“­λ‹ˆλ‹€.
  • forceNewPopup() : 무쑰건 μƒˆ νŒμ—… 창으둜 μ—΄κ²Œ λ§Œλ“­λ‹ˆλ‹€.
  • setNewWindowManifest(m) : ν•΄λ‹Ή νŒμ—… μœˆλ„μš°μ˜ λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. m μΈμžλŠ” λ§€λ‹ˆνŽ˜μŠ€νŠΈ ν˜•μ‹ 의 window ν•„λ“œ λ‚΄ μ†μ„±κ³Όλ™μΌν•©λ‹ˆλ‹€. (예: {"frame" : false}). v0.11.3 λΆ€ν„° 지원

μ•Œλ €μ§„ 문제점

이제 λ¦¬λˆ…μŠ€μ—μ„œλŠ” setMaximumSize()/setMinimumSize() λ©”μ†Œλ“œμ™€ setResizable() λ©”μ†Œλ“œλ₯Ό λ™μ‹œμ— ν˜ΈμΆœν•  수 μ—†μŠ΅λ‹ˆλ‹€. λ™μ‹œμ— λΆ€λ₯Ό 경우 μ•„μ˜ˆ μž‘λ™λ˜μ§€ μ•ŠμœΌλ‹ˆ 이 점에 μ£Όμ˜ν•΄ μ£Όμ„Έμš”.

같이보기

⚠️ **GitHub.com Fallback** ⚠️