Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№117-10-2010 22:37:32

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 3.6

copy/paste

скажите как использовать в своем приложении 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)

Отсутствует

 

№217-10-2010 23:23:15

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: copy/paste

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);
}

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№318-10-2010 01:34:54

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 3.6

Re: copy/paste

Infocatcher пишет
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 делать

Отсутствует

 

№418-10-2010 05:46:53

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Firefox 4.0

Re: copy/paste

Так он есть

Отсутствует

 

№518-10-2010 23:20:01

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: copy/paste

bidlocoder пишет

откуда только вы всё это знаете??

на MDC есть поиск

Отсутствует

 

№625-10-2010 23:01:55

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 3.6

Re: copy/paste

Shutnik пишет
bidlocoder пишет

откуда только вы всё это знаете??

на MDC есть поиск

если бы еще  mdc на не буржуйском языке было))))

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]