adjust project directory
This commit is contained in:
1 parent
f9cad5931e
commit
5c3f15c70e
24 files changed
+151
-35
No files matched your search
@@ -0,0 +1,86 @@
|
||||
const DYNAMIC_SCRIPT_ID = 'add-record-script';
|
||||
|
||||
async function isDynamicContentScriptRegistered() {
|
||||
const scripts = await chrome.scripting.getRegisteredContentScripts();
|
||||
return scripts.some((s) => s.id === DYNAMIC_SCRIPT_ID);
|
||||
}
|
||||
|
||||
async function getActiveTab() {
|
||||
const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
||||
return tab;
|
||||
}
|
||||
|
||||
|
||||
document.querySelector('#addRecord').addEventListener('click', async () => {
|
||||
|
||||
console.log('[Demo] ==============================================');
|
||||
console.log('[Demo] Test send message from popup script to content script');
|
||||
const tab = await getActiveTab();
|
||||
const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'addRecord' });
|
||||
console.log('[Demo] receive', ret);
|
||||
|
||||
});
|
||||
|
||||
|
||||
document.querySelector('#deleteRecord').addEventListener('click', async () => {
|
||||
|
||||
console.log('[Demo] ==============================================');
|
||||
console.log('[Demo] Test send message from popup script to content script');
|
||||
const tab = await getActiveTab();
|
||||
const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'deleteRecord' });
|
||||
console.log('[Demo] receive', ret);
|
||||
|
||||
});
|
||||
|
||||
|
||||
var port = null;
|
||||
|
||||
function appendMessage(text) {
|
||||
document.getElementById('response').innerHTML += "<p>" + text + "</p>";
|
||||
}
|
||||
|
||||
function updateUiState() {
|
||||
if (port) {
|
||||
document.getElementById('connect-button').style.display = 'none';
|
||||
document.getElementById('input-text').style.display = 'block';
|
||||
document.getElementById('send-message-button').style.display = 'block';
|
||||
} else {
|
||||
document.getElementById('connect-button').style.display = 'block';
|
||||
document.getElementById('input-text').style.display = 'none';
|
||||
document.getElementById('send-message-button').style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
function sendNativeMessage() {
|
||||
message = { "text": document.getElementById('input-text').value };
|
||||
port.postMessage(message);
|
||||
appendMessage("Sent message: <b>" + JSON.stringify(message) + "</b>");
|
||||
}
|
||||
|
||||
function onNativeMessage(message) {
|
||||
appendMessage("Received message: <b>" + JSON.stringify(message) + "</b>");
|
||||
}
|
||||
|
||||
function onDisconnected() {
|
||||
appendMessage("Failed to connect: " + chrome.runtime.lastError.message);
|
||||
port = null;
|
||||
updateUiState();
|
||||
}
|
||||
|
||||
function connect() {
|
||||
var hostName = "com.google.chrome.botext";
|
||||
appendMessage("Connecting to native messaging host <b>" + hostName + "</b>")
|
||||
port = chrome.runtime.connectNative(hostName);
|
||||
port.onMessage.addListener(onNativeMessage);
|
||||
port.onDisconnect.addListener(onDisconnected);
|
||||
updateUiState();
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
document.getElementById('connect-button').addEventListener(
|
||||
'click', connect);
|
||||
document.getElementById('send-message-button').addEventListener(
|
||||
'click', sendNativeMessage);
|
||||
updateUiState();
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user