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');
});window_objectλ₯Ό μ§μ νμ§ μμΌλ©΄ νμ¬ μλμ°μ Window κ°μ²΄λ₯Ό λ°μΌλ©°, κ·Έ μΈμλ window_objectμ Window κ°μ²΄λ₯Ό λ°μ΅λλ€.
// νμ¬ μλμ° κ°μ²΄λ₯Ό λ°μ΅λλ€.
var win = gui.Window.get();
// μ μλμ°λ₯Ό λ§λ€κ³ μλμ° κ°μ²΄λ₯Ό λ°μ΅λλ€.
var new_win = gui.Window.open('https://github.com');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
});λ€μ΄ν°λΈ μλμ° κ°μ²΄λ‘λΆν° DOMμ window κ°μ²΄λ₯Ό λ°μ΅λλ€.
νλ©΄μ κ°λ‘/μΈλ‘ μμΉλ₯Ό λ°κ±°λ μ€μ ν©λλ€.
μλμ° ν¬κΈ°λ₯Ό λ°κ±°λ μ€μ ν©λλ€.
μλμ° μ λͺ© νμμ€μ μλ μ λͺ©μ λ°κ±°λ μ€μ ν©λλ€.
μλμ° λ©λ΄λ°λ₯Ό λ°κ±°λ μ€μ ν©λλ€. λ©λ΄λ°λ₯Ό μ€μ νλ λ°©λ²μ λ©λ΄ κΈ°λ₯μ μ°Έμ‘°νμΈμ.
v0.3.5 λΆν° μ§μ
νμ€ν¬λ¦° μ¬λΆλ₯Ό λ°κ±°λ μ€μ ν©λλ€.
v0.11.2 λΆν° μ§μ
μ°½μ ν¬λͺ μ¬λΆλ₯Ό λ°μ΅λλ€.
since v0.3.5
ν€μ€μ€ν¬ λͺ¨λ νμ±ν μ¬λΆλ₯Ό λ°κ±°λ μ€μ ν©λλ€.
since v0.4.1
νλ λΉμ¨μ λ°κ±°λ μ€μ ν©λλ€. 0μ κΈ°λ³Έ λΉμ¨μ΄λ©°, μμλ₯Ό ν΅ν΄ νλ λΉμ¨, μμλ₯Ό ν΅ν΄ μΆμ λΉμ¨μ μ€μ ν μ μμ΅λλ€.
μ§μ λ μλμ°μ κ°λ‘μ μΈλ‘ μμΉλ₯Ό μ€ν¬λ¦° κΈ°μ€μμ μ΄λν©λλ€.
μ§μ λ μλμ°μ κ°λ‘μ μΈλ‘ μμΉλ₯Ό κΈ°μ‘΄ μμΉ κΈ°μ€μμ μ΄λν©λλ€.
μ§μ λ μλμ°μ κ°λ‘μ μΈλ‘ ν¬κΈ°λ₯Ό μ€ν¬λ¦° κΈ°μ€μμ λ³κ²½ν©λλ€.
μ§μ λ μλμ°μ κ°λ‘μ μΈλ‘ ν¬κΈ°λ₯Ό κΈ°μ‘΄ ν¬κΈ°μμ λ³κ²½ν©λλ€.
μλμ°λ₯Ό μ΅μμλ‘ λ³΄μ΄κ² ν©λλ€.
μλμ°λ₯Ό λ€λ‘ λΊλλ€. μ΄λ λ€λ₯Έ μλμ° ν¬μ»€μ€λ₯Ό λΆμ¬ν λ μ μ©ν©λλ€. λͺλͺ νλ«νΌμ μ΄ κ°λ μ΄ μμ μ μμ΅λλ€.
μλμ°κ° 보μ΄μ§ μμ κ²½μ° λ³΄μ΄κ² ν©λλ€. λͺλͺ νλ«νΌμμ ν¬μ»€μ€λμ§ μμΌλ©΄ 보μ΄κ² ν μ μμΌλ―λ‘ focus λ¨Όμ μ€ννλ κ²μ΄ μ’μ΅λλ€.
show(false) μ΄λ κ² νΈμΆνλ©΄ hide() λ©μλμ λμΌν ν¨κ³Όκ° λνλ©λλ€.
μλμ°λ₯Ό μ¨κΉλλ€. μ¬μ©μλ ν΄λΉ μλμ° νλ©΄μ μ°Ύμ μ μμ΅λλ€.
νμ¬ μλμ°λ₯Ό λ«μ΅λλ€. μ΄ λ, Window κ°μ²΄μ close μ΄λ²€νΈλ₯Ό ν΅ν΄ λ§μ μ μμ΅λλ€. λ¨, force κ° trueμΌ κ²½μ° μ΄λ²€νΈ νΈμΆ μμ΄ λ«κ² λ©λλ€.
close λ₯Ό κ·Έλ₯ νΈμΆνμ¬ μ λ§λ‘ λ«μ κ²μΈμ§ λ¬»κ³ , close(true) λ₯Ό νΈμΆνμ¬ μ λ§λ‘ λ«λλ‘ νλ λ°©μμ μ μ©ν©λλ€.
win.on('close', function() {
this.hide(); // μ΄λ―Έ λ«μλ€λ ν¨κ³Όλ₯Ό λΆμ¬
console.log("We're closing...");
this.close(true);
});
win.close();node-webkit v0.3.5 λΆν° μ§μ
νμ¬ μλμ°λ₯Ό μλ‘κ³ μΉ©λλ€.
0.4.0 λΆν° μ§μ
νμ¬ νμ΄μ§λ₯Ό μλ‘μ΄ λ λλ¬ νλ‘μΈμ€λ‘ νμ±ννμ¬ μλ‘κ³ μΉ©λλ€. ν΄λ° μλ¨ μ€λ₯Έμͺ½μ μλ‘κ³ μΉ¨ λ²νΌ μν κ³Ό λμΌν©λλ€.
node-webkit v0.3.5 λΆν° μ§μ_
μΌλ° μλ‘κ³ μΉ¨κ³Όλ λ¬λ¦¬ μΊμλ₯Ό μ¬μ©νμ§ μμ΅λλ€. ("shift-reload" λ‘ μλ €μ§).
μλμ°μ GTK μμλ μ΅λν μν μ μννκ³ , Mac OS X μμλ μλμ°λ₯Ό νλν©λλ€.
μ΅λνν μλμ°λ₯Ό μ΄κΈ°μνλ‘ λλ립λλ€.
λ³΄ν΅ μ΅μνμ λμΌν©λλ€. Mac OS X λ λ³΄ν΅ μ§λ λ¨ν μ λλ©μ΄μ μΌλ‘ μ΅μννλ ν¨κ³Όλ₯Ό κ°μ§ κ²λλ€.
μ΅μνλ μνλ₯Ό λλ립λλ€. μ΄λ¦μ restoreλ‘ μ§μ μ΄μ λ μλμ° minimize μ λ°λ κ°λ
μ΄ restoreμ΄κΈ° λλ¬Έμ
λλ€.
νμ€ν¬λ¦° λͺ¨λλ‘ λ€μ΄κ°λλ€. μ΄λ HTML5μ νμ€ν¬λ¦° κ°λ κ³Ό ν립λλ€. nw.js λ μ¬μ©μ μΉμΈμ¬λΆλ₯Ό 묻μ§λ μκ³ λ°μ§μ§ μκ³ μ 체 νλ©΄μ νμ¬ νλ©΄μΌλ‘ μ΅λν μν΅λλ€.
νμ€ν¬λ¦° λͺ¨λλ₯Ό λΉ μ Έλκ°λλ€.
node-webkit v0.3.5 λΆν° μ§μ
νμ€ν¬λ¦° λͺ¨λλ₯Ό μλλ©΄ λ€μ΄κ°κ³ , λ€μ΄κ°λ€λ©΄ λΉ μ Έλκ°κ² ν©λλ€.
node-webkit v0.3.1 λΆν° μ§μ
ν€μ€μ€ν¬ λͺ¨λλ‘ λ€μ΄κ°λλ€. ν€μ€μ€ν¬ λͺ¨λμ λ€μ΄κ°κ² λλ©΄, νμ€ν¬λ¦° μνλ‘ λ€μ΄κ°κ² λλ©°, μ¬μ©μλ μ±μμ λͺ» λΉ μ Έλκ°κ² λ©λλ€. μ¬μ©μκ° λΉ μ Έλκ°κ² νλ €λ©΄ μ±μμ ν€μ€μ€ν¬λͺ¨λλ₯Ό λΉ μ Έλκ°κ² ν΄μΌ ν©λλ€. μ΄λ ν리μ ν μ΄μ μ΄λ κ²μ μ±μ μ μ©ν©λλ€.
node-webkit v0.3.1 λΆν° μ§μ
ν€μ€μ€ν¬ λͺ¨λμμ λΉ μ Έ λκ°λλ€.
node-webkit v0.3.5 λΆν° μ§μ
ν€μ€μ€ν¬ λͺ¨λκ° μλλ©΄ λ€μ΄κ°κ³ , λ€μ΄κ°λ€λ©΄ λΉ μ Έλκ°λλ€.
v0.11.2 λΆν° μ§μ
ν¬λͺ ν λͺ¨λλ₯Ό μ§μ ν©λλ€. μμΈν μ¬νμ https://github.com/rogerwang/node-webkit/wiki/Transparency λ₯Ό μ°Έμ‘°νμΈμ.
ν΄λΉ μ°½μ κ°λ°μ λꡬλ₯Ό νμ±νν©λλ€.
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 κ°μ²΄λ₯Ό λ°μ μ μμΌλ μμ§ μ΄λ²€νΈλ μ§μλμ§ μμ΅λλ€.
v0.7.3 λΆν° μ§μ
κ°λ°μ λꡬλ₯Ό λ«μ΅λλ€.
v0.8.0 λΆν° μ§μ
κ°λ°μ λκ΅¬κ° μ΄λ €μλμ§ μλ €μ€λλ€. μ°Έκ³ : headless κ° true μ΄λ©΄ μ΄ λ©μλλ νμ false λ₯Ό λ°νν©λλ€.
μλμ°μ κ°μ© κ°λ₯ν μ΅λ ν¬κΈ°λ₯Ό μ€μ ν©λλ€.
μλμ°μ κ°μ© κ°λ₯ν μ΅μ ν¬κΈ°λ₯Ό μ€μ ν©λλ€.
μλμ°μ ν¬κΈ° μ‘°μ κ°λ₯ μ¬λΆλ₯Ό μ€μ ν©λλ€.
node-webkit v0.3.4 μ΄μ μ§μ
μλμ° μμ€ν μμ ν΄λΉ μ± μλμ°λ₯Ό νμ μλ‘ λμμ£Όλ μ¬λΆλ₯Ό μ€μ ν©λλ€.
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 λ₯Ό μ°Έκ³ νμΈμ.
v0.11.3 λΆν° μ§μ
μ λ©μλλ₯Ό μ¬μ©ν μ μλμ§ μ¬λΆλ₯Ό νμΈν©λλ€. λΉμ°ν Mac OS Xμ 리λ μ€μμλ§ νμ¬ μ§μν©λλ€.
μλμ° μμΉλͺ
μ μ€μ νμ¬ μλμ° μμΉλ₯Ό λ³κ²½ν©λλ€. νμ¬ λͺ¨λ νλ«νΌμμλ center κ° μ§μλλ©°, μ κ°μ΄λ°λ‘ μλμ°κ° λμμ§λλ€.
v0.9.2 λΆν° μ§μ
μλμ°λ 리λ
μ€μ μμ
νμμ€ λλ λ§₯μ λ
μμ΄μ½μ νμ±ν μ¬λΆλ₯Ό μ€μ ν©λλ€. λ§€λνμ€νΈ νμ μ show_in_taskbar μμ±μ μ°Έκ³ νμΈμ.
trueλ‘ μ€μ ν κ²½μ° μ¬μ©μλ ν΄λΉ μ°½μ λ°λμ 보λλ‘ μ€μ ν μ μμ΅λλ€. (μμμ£Ό: κ²½κ³ λνμμ κ°μ μν ) false λ‘ ν΄μ§ν μ μμ΅λλ€. νλ«νΌ νλμ λ°λ¦
λλ€.
v0.10.2 λΆν° μ§μ
μ λ©μλμ λΉμ·νμ§λ§ μλμ°μ κ²½μ° μ¬μ©μκ° λ°λμ λ΄μΌ νλ κΉλ°μ νμ νμλ₯Ό μ€μ ν μ μλ€λ μ μμ λ€λ¦
λλ€.
λ§₯μμλ κ°μ΄ μμμΌ κ²½μ° NSCriticalRequest νΈλ¦¬κ±°κ° μ€νλλ λμ κ°μ΄ μμμ΄λ©΄ NSInformationalRequest νΈλ¦¬κ±°λ₯Ό νΈμΆν©λλ€.
리λ
μ€μμλ boolean λ²μ μ λ©μλμ λμΌν μν μ μνν©λλ€. μ¦, μ«μκ° μ μ©λμ§ μμ΅λλ€.
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'} );v0.10.2 λΆν° μ§μ
μ ν¨ κ°μ 0 λΆν° 1 κΉμ§ μ
λλ€.
val < 0 μΌ κ²½μ° νλ‘κ·Έλμ€ λ°κ° μμ΄μ§λλ€.
val > 1 μΌ κ²½μ° μ§νμ€μΈ νλ‘κ·Έλμ€λ°μμ νμν©λλ€.
리λ
μ€μ κ²½μ° νμ¬ μ°λΆνΈμμλ§ μ§μλ©λλ€. κ·Έλ¦¬κ³ .desktop νμΌμ NW_DESKTOP νκ²½ λ³μλ₯Ό μ μ©ν΄μΌ ν©λλ€. κ·Έλ μ§ μμ κ²½μ° nw.desktop μΌλ‘ μΈμλ©λλ€.
v0.10.0-rc1 λΆν° μ§μ
μλμ°μ λ§₯μμ μ§μλ©λλ€. λ±μ§ λ μ΄λΈμ μλμ° μμ΄μ½κ³Ό ν¨κ» μμ
νμμ€ λλ λ
μμ νμλλλ‘ μ€μ ν©λλ€.
v0.10.2 λΆν° μ§μ 리λ
μ€μ κ²½μ° μ°λΆν¬μμ μ§μλμ§λ§ μ«μλ§ λ€μ΄κ° λ¬Έμμ΄μ΄ μ§μλλ©°, setProgressBar λ©μλμ κ°μ΄ .desktop μ νκ²½λ³μλ₯Ό μ€μ ν΄μΌ ν©λλ€.
v0.8.1 λΆν° μ§μ
μΏ ν€λ₯Ό κ΄λ¦¬νλ λ©μλλ₯Ό μ§μν©λλ€. μ΄ APIλ ν¬λ‘¬ νμ₯κ³Ό κ°μ΅λλ€. nw.js μμλ get, getAll, remove, κ·Έλ¦¬κ³ set λ©μλκ° μ§μλλ©°, onChanged μ΄λ²€νΈκ° addListener μremoveListener μ΄λ²€νΈ λ©μλμμ μ§μλ©λλ€.
κ·Έλ¦¬κ³ ν¬λ‘¬ νμ₯ API μ CookieStore μ κΈ°μ¬λ λ©€λ²λ μ§μλμ§ μμ΅λλ€. nw.js λ μΏ ν€κ° μ μμΌλ‘λ§ μ§μνκΈ° λλ¬Έμ
λλ€.
v0.9.0 κ³Ό v0.8.5 λΆν° μ§μ
frame μ΄ null μ΄κ±°λ, iframe μμ λ΄μ΄λ©΄ νμ¬ μ°½ κΈ°μ€μΌλ‘ μ€ν¬λ¦½νΈκ° μ€νλκ³ , frame μ΄ iframe μμμ΄λ©΄, ν΄λΉ iframe κΈ°μ€μΌλ‘ μ€ν¬λ¦½νΈλ₯Ό μ€νν©λλ€. script μΈμλ μλ°μ€ν¬λ¦½νΈ μμ€ μ½λ λ¬Έμμ΄μ
λλ€.
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 μ΄λ²€νΈλ μ°½μ΄ λ«νλ 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 λ₯Ό μ°Έκ³ νμΈμ.
μ°½μ΄ λ«νκ³ λ λ€μ λ°μνλ μ΄λ²€νΈμ λλ€. λ³΄ν΅ μ΄ μ΄λ²€νΈλ μ±μ΄ μμ ν λ«νκ² λλ©΄ λ°μνμ§ μμ΅λλ€. νμ§λ§ μ¬λ¬ μ°½μ μ΄μμ κ²½μ°, λ€λ₯Έ μ°½μ λ«κ² λ λ€λ©΄ μ΄ μ΄λ²€νΈκ° λ°μλμ΄ μ€μ ν μ μμ΅λλ€.
<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>node-webkit v0.3.5 μ΄μ μ§μ
μλμ°μ μΉ νμ΄μ§λ₯Ό λΆλ¬μ€κΈ° μμν κ²½μ° λ°μν©λλ€. νμ§λ§ λ³΄ν΅ μ΄ μ΄λ²€νΈλ₯Ό μ‘μ μ μλλ° μ΄ μ΄λ²€νΈκ° μ€μ λκΈ°λ μ μ λ°μλκΈ° λλ¬Έμ λλ€.
λμ , λ€λ₯Έ μ°½μ μ΄λ²€νΈμμ νμ΄μ§ λΆλ¬μ€κΈ°λ₯Ό μμν κ²½μ°μλ μ‘μ μ μμ΅λλ€.
node-webkit v0.3.5 μ΄μ μ§μ
μλμ° λ΄ νμ΄μ§κ° λͺ¨λ λΆλ¬μμ§λ©΄ λ°μν©λλ€. window.onload μλ λΉμ·νμ§λ§ DOM κ³Όλ μν₯λ°μ§ μμ΅λλ€.
v0.9.0 λλ v0.8.5 λΆν° μ§μ
function (frame) {}
CSS νμΌμ΄ λΆλ¬μ¨ ν λ¬Έμ μμ λλ μμ νλ μμ΄ νμ±νλ κ²½μ° λ°μν©λλ€. λ¨, DOMμ΄ μ€κ³λκ±°λ μ€ν¬λ¦½νΈ μ€νλκΈ° μ μμ μ
λλ€.
-
frame μ iframe μμμ
λλ€,
nullμ΄λ©΄ μλμ°μ λλ€.
κ°μ΄λ³΄κΈ°: λ§€λνμ€νΈ νμμ inject-js-start μμ±
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 μμ±
μλμ°κ° μ΅μμλ‘ λ³΄μΌ κ²½μ°μ λ°μν©λλ€.
μλμ°κ° λ€λ₯Έ μλμ°λ‘ κ°λ €μ Έ μμ λ λ°μν©λλ€.
μλμ°κ° μ΅μνν κ²½μ° λ°μν©λλ€.
μ΅μν ν μμνλ‘ λλμκ° κ²½μ° λ°μν©λλ€.
μλμ°κ° μ΅λνλ κ²½μ° λ°μν©λλ€.
μ΅λνλ μλμ°κ° μμνλ‘ λ³΅κ·λ λ λ°μν©λλ€. λͺλͺ νλ«νΌμ μ΅λνν λ μλμ° ν¬κΈ°κ° μ‘°μ λλ λ°©μμΌ κ²½μ° unmaximize μ΄λ²€νΈκ° λ°μνμ§ μμ΅λλ€.
v0.8.2 λΆν° μ§μ
μλμ°κ° μ΄λν κ²½μ° λ°μν©λλ€. μ΄ λ μ½λ°±μμλ μ΄λν ν κ°λ‘, μΈλ‘ μμΉλ₯Ό λ°μλ΄λ 2κ°μ μΈμκ° (x, y) μμ μ 곡ν©λλ€.
v0.8.2 λΆν° μ§μ
μλμ° ν¬κΈ°κ° μ‘°μ λ κ²½μ° λ°μν©λλ€. μ΄ λ μ½λ°±μμλ μ‘°μ λ ν κ°λ‘, μΈλ‘ ν¬κΈ°λ₯Ό λ°μλ΄λ 2κ°μ μΈμκ° (width, height) μμ μ 곡ν©λλ€.
νμ€ν¬λ¦°μ΄ νμ±νλ κ²½μ° λ°μν©λλ€.
νμ€ν¬λ¦°μμ λΉ μ Έλκ° κ²½μ° λ°μν©λλ€.
μλμ°μ νλ/μΆμ λ°°μ¨μ΄ λ³κ²½λ κ²½μ° λ°μν©λλ€. μ΄ λ μΈμμμλ μ΄ν νλμΆμ λΉμ¨μ λ°μλΌ μ μμ΅λλ€. Window.zoom λ©μλλ₯Ό ν΅ν΄ λ°°μ¨κ°μ μ°Έμ‘°νμΈμ.
μλμ° μΊ‘μ³κ° μλ£λκ³ μ΄λ―Έμ§ λ°μ΄ν°κ° μ€λΉλ κ²½μ° λ°μν©λλ€. μ½λ°±μ Window.capturePage λ©μλμ μ½λ°±μ μ°Έκ³ νμκΈ° λ°λλλ€.
μ΄λ ν κ²½μ° μκ΄μμ΄ κ°λ°μ λκ΅¬κ° νμ±νλ κ²½μ° λ°μν©λλ€. (0.8.0λΆν°), λλ Window.showDevTools(id, headless) μμheadless = true λ‘ μ€μ ν κ²½μ°μλ λ°μν©λλ€. μ½λ°±μμλ url μΈμλ₯Ό λ°μΌλ©°, μ΄λ λΆλ¬μ¨ κ°λ°μ λꡬ UIμ μ£Όμλ₯Ό λνλ
λλ€. κ°λ°μ λꡬ 격리기λ₯ κ³Ό μλμ° λ₯Ό μ°Έκ³ νμΈμ.
v0.8.0 λΆν° μ§μ
κ°λ°μ λκ΅¬κ° λ«ν κ²½μ° λ°μλ©λλ€.
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() λ©μλλ₯Ό λμμ νΈμΆν μ μμ΅λλ€. λμμ λΆλ₯Ό κ²½μ° μμ μλλμ§ μμΌλ μ΄ μ μ μ£Όμν΄ μ£ΌμΈμ.