Ace: [ํฌ๋กฌ] ํ•œ๊ธ€์ด ์ œ๋Œ€๋กœ ์ž…๋ ฅ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 09์›” 15์ผ  ยท  17์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ajaxorg/ace

ํฌ๋กฌ 53.0.2785.116 ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ์—์„œ ํ•œ๊ธ€ ์ž…๋ ฅ์ด ๋น„์ •์ƒ์ž…๋‹ˆ๋‹ค.

ํฌ๋กฌ : 53.0.2785.116(64๋น„ํŠธ)
image

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ํ•œ๊ธ€๋งŒ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„ "onCompositionUpdate function"์— "return;"์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. ์•”ํ˜ธ.
์•ฝ๊ฐ„์˜ ๋ถ€์ž‘์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ํ˜„์žฌ๊นŒ์ง€๋Š” ๋ถ€์ž‘์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  17 ๋Œ“๊ธ€

์ค‘๊ตญ์–ด๋„ ํƒ€์ดํ•‘

@x-yao ๋ณด์—ฌ์ฃผ์„ธ์š”.

Chrome 52๋Š” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ„๊ทธ๋Š” Chrome 53์„ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

2016-09-21 13_49_47

@ mrdream24 ๊ฐ™์€ ๋ฌธ์ œ.
๋‚ด ์ œํ’ˆ์ด ๊ณ ์žฅ๋‚ฌ์Šต๋‹ˆ๋‹ค. Chrome 54๊ฐ€ ๋น„์ •์ƒ์ธ์ง€ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์„ธ์š”?

@hangum ๋‚ด ์ œํ’ˆ๋„

๋‚˜๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค

@mrdream24 ์ œ ์ œํ’ˆ์€ Tadpole DB Hub(https://tadpolehub.com/)์ž…๋‹ˆ๋‹ค.
๋„ˆ?

@ํ•œ๊ธˆ ๋„ˆ๊ฒŸ

@mrdream24 ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

github๋Š” ace ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒํ—ˆ๋ธŒ

https://c9.io ๋Š” ๋™์ผํ•œ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค.

์ด์œ ๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ace.js ํŒŒ์ผ์— "onCompositionUpdate function"์ด๋ผ๊ณ  ์ฃผ์„์„ ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€์žˆ๋‹ค.

@anhh ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ํ•œ๊ธ€๋งŒ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„ "onCompositionUpdate function"์— "return;"์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. ์•”ํ˜ธ.
์•ฝ๊ฐ„์˜ ๋ถ€์ž‘์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ํ˜„์žฌ๊นŒ์ง€๋Š” ๋ถ€์ž‘์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค.

@anhh ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ์„ธ์š”?

ace.js ํŒŒ์ผ์˜ ๋ถ€๋ถ„์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
var onCompositionUpdate = function() {
// if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
// return;
// var val = text.value.replace(/x01/g, "");
// if (inComposition.lastValue === val) return;
//
// host.onCompositionUpdate(val);
// if (inComposition.lastValue)
// host.undo();
// inComposition.lastValue = val;
// if (inComposition.lastValue) {
// var r = host.selection.getRange();
// host.insert(inComposition.lastValue);
// host.session.markUndoGroup();
// inComposition.range = host.selection.getRange();
// host.selection.setRange(r);
// host.selection.clearSelection();
// }
};

์ฒ˜๋ฆฌ ํ–ˆ์„ ๊ฒฝ์šฐ ๋ฌธ์ œ๋Š”
์ฝค๋งˆ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ํ•œ๊ธ€์„ ์ž…๋ ฅํ•˜๋‹ค๊ฐ€ ์ง€์šฐ๋ฉด ์ฒ˜์Œ์— ์ž…๋ ฅํ–ˆ๋˜ ์ฝค๋งˆ๊ฐ€ ์‚ญ์ œ๋˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋„ค์š”.
์˜ˆ๋ฅผ๋“ค์–ด 'ํ•œ๊ธ€ํ…Œ์ŠคํŠธ ๋ผ๊ณ  ์ž…๋ ฅํ•˜๋Š” ์ค‘๊ฐ„์— ๋’ค๋กœ ์‚ญ์ œํ•˜๋ฉด ์ฒ˜์Œ์— ์ž…๋ ฅํ–ˆ๋˜ ์ฝค๋งˆ๊นŒ์ง€ ์‚ญ์ œ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž„์‹œ ํŒจ์น˜๋ผ๋„ ๋‚ด๋ณด๋‚ด์•ผ๊ฒ ๋„ค์š”.
๋ˆ„๊ตฌ์‹ ์ง€ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ปคํ”ผ๋‚˜ ๋ฐฅ์ด๋ผ๋„ ์‚ฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰