Ответы пользователя по тегу Расширения для браузеров
  • Сhrome Extension как вставить текст?

    shqn
    @shqn
    Я так понимаю, контекстное меню будет вызываться только на этой самой textarea. Тогда можно написать что-то вроде этого, запоминая элемент, на котором произошел правый клик.

    1. content.js

    var AppContent = {
        init: function() {
            document.body.addEventListener("contextmenu", function(event) {
                chrome.runtime.sendMessage({action: "rememberTarget", data: event.target});
            });
        }
    };
    AppContent.init();


    2. background.js

    var AppBackground = {
        target: null,
        init: function() {
            chrome.runtime.onMessage.addListener(function(request) {
                if(request.action === "rememberTarget")
                    this.target = request.data;
            }.bind(this));
            
            chrome.contextMenus.create({
                'contexts': ['editable'],
                'onclick': function() {
                    if(this.target)
                        this.target.value = "some text";
                }.bind(this)
            });
        }
    }
    AppBackground.init();
    Ответ написан
    Комментировать