2020-06-24 01:17:58 +02:00
|
|
|
global.browser = require('webextension-polyfill');
|
|
|
|
|
2020-06-29 02:21:00 +02:00
|
|
|
const context = {
|
|
|
|
targetElement: null,
|
|
|
|
};
|
|
|
|
|
2020-06-24 01:17:58 +02:00
|
|
|
browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|
|
|
switch (message.type) {
|
|
|
|
case 'getURL':
|
|
|
|
sendResponse(window.location.href);
|
|
|
|
break;
|
|
|
|
|
2020-06-25 23:20:46 +02:00
|
|
|
case 'getDOM':
|
|
|
|
sendResponse(document.getElementsByTagName('html')[0].outerHTML);
|
2020-06-24 01:17:58 +02:00
|
|
|
break;
|
|
|
|
|
2020-06-25 23:20:46 +02:00
|
|
|
case 'setDOM':
|
|
|
|
document.getElementsByTagName('html')[0].innerHTML = message.html;
|
2020-06-24 01:17:58 +02:00
|
|
|
break;
|
2020-06-29 02:21:00 +02:00
|
|
|
|
|
|
|
case 'getTargetElement':
|
|
|
|
sendResponse(context.targetElement ? context.targetElement.outerHTML : null);
|
|
|
|
break;
|
2020-06-24 01:17:58 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2020-06-29 02:21:00 +02:00
|
|
|
document.addEventListener('contextmenu', event => {
|
|
|
|
context.targetElement = event.target;
|
|
|
|
});
|
|
|
|
|
2020-06-24 01:17:58 +02:00
|
|
|
// vim:sw=2:ts=2:et:
|