Страницы: 1
скажите как использовать в своем приложении copy/paste?
Добавлено 17-10-2010 22:45:46
надыбал функцию чтения из буфера
function readFromClipboard() { var url; try { var clipboard = Components.classes['@mozilla.org/widget/clipboard;1'].getService(Components.interfaces.nsIClipboard); var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); trans.addDataFlavor("text/unicode"); if (clipboard.supportsSelectionClipboard()) { clipboard.getData(trans, clipboard.kSelectionClipboard); } else { clipboard.getData(trans, clipboard.kGlobalClipboard); } var data = {}; var dataLen = {}; trans.getTransferData("text/unicode", data, dataLen); if (data) { data = data.value.QueryInterface(Components.interfaces.nsISupportsString); url = data.data.substring(0, dataLen.value / 2); } } catch (ex) { } return url; }
а как реализовать именно 'paste' в элемент в котором находится фокус?
Отредактировано bidlocoder (17-10-2010 22:41:19)
Отсутствует
'paste' в элемент в котором находится фокус
var text = "..."; var cmd = "cmd_insertText"; var controller = document.commandDispatcher.getControllerForCommand(cmd); if(controller && controller.isCommandEnabled(cmd)) { controller = controller.QueryInterface(Components.interfaces.nsICommandController); var params = Components.classes["@mozilla.org/embedcomp/command-params;1"] .createInstance(Components.interfaces.nsICommandParams); params.setStringValue("state_data", text); controller.doCommandWithParams(cmd, params); }
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
bidlocoder пишет'paste' в элемент в котором находится фокус
Выделить кодКод:
var text = "..."; var cmd = "cmd_insertText"; var controller = document.commandDispatcher.getControllerForCommand(cmd); if(controller && controller.isCommandEnabled(cmd)) { controller = controller.QueryInterface(Components.interfaces.nsICommandController); var params = Components.classes["@mozilla.org/embedcomp/command-params;1"] .createInstance(Components.interfaces.nsICommandParams); params.setStringValue("state_data", text); controller.doCommandWithParams(cmd, params); }
спасибо все работает!!!... откуда только вы всё это знаете?? может быть пару сылочек для саморазвития подкинете)))) а вообще этому форуму уже пора свой FAQ делать
Отсутствует
bidlocoder пишетоткуда только вы всё это знаете??
на MDC есть поиск
если бы еще mdc на не буржуйском языке было))))
Отсутствует
Страницы: 1