platypush-webext/src/content.js

32 lines
737 B
JavaScript

global.browser = require('webextension-polyfill');
const context = {
targetElement: null,
};
browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
switch (message.type) {
case 'getURL':
sendResponse(window.location.href);
break;
case 'getDOM':
sendResponse(document.getElementsByTagName('html')[0].outerHTML);
break;
case 'setDOM':
document.getElementsByTagName('html')[0].innerHTML = message.html;
break;
case 'getTargetElement':
sendResponse(context.targetElement ? context.targetElement.outerHTML : null);
break;
}
});
document.addEventListener('contextmenu', event => {
context.targetElement = event.target;
});
// vim:sw=2:ts=2:et: