Я хочу создать DIV, содержащий сообщение, если пользователь посещает URL-адрес, хранящийся в моей базе данных. На самом деле, он работает в предупреждающем сообщении, но я хочу DIV, поэтому мне нужно получить доступ к DOM страницы по содержимомуcript.js, и это работает, но как я могу предотвратить работу функции в файле contentscript.js, потому что я хочу, чтобы функция работала после того, как я проверил URL-адрес в background.js!Расширение Chrome: вызов функции в содержанииcript.js из background.js
Я читал о вкладке, но он запускается только тогда, когда пользователь нажимает значок действия браузера, и в моей ситуации пользователь не нажимал значок, который он просматривал только на www.
contentscript.js
chrome.runtime.sendMessage(window.location.href);
var pathname = window.location.pathname; // Returns path only
var url = window.location.href;
//document.getElementsByTagName('title')[0].innerText
function MessageBox(){
document.documentElement.style.height = '100%';
document.body.style.height = '100%';
document.documentElement.style.width = '100%';
document.body.style.width = '100%';
var div = document.createElement('div');
var btnForm = document.createElement('form');
var btn = document.createElement('input');
//append all elements
document.body.appendChild(div);
div.appendChild(btnForm);
btnForm.appendChild(btn);
//set attributes for div
div.id = 'myDivId';
div.style.position = 'fixed';
div.style.top = '80%';
div.style.left = '77%';
div.style.width = '22%';
div.style.height = '17%';
div.style.backgroundColor = 'white';
div.style.border='1px solid red';
//set attributes for btnForm
btnForm.action = '';
//set attributes for btn
//"btn.removeAttribute('style');
btn.type = 'button';
btn.value = 'X';
btn.style.position = 'reltive';
btn.style.top = '10%';
btn.style.left = '80%';
btn.style.width = '5%';
btn.style.height = '3%';
}
background.js
chrome.runtime.onMessage.addListener(function(response, sender, sendResponse) {
$.ajax({
type: 'GET',
url: 'http://mywebsite.com/api/route',
dataType: 'json',
}).success(function(results) {
for (var i = 0; i < results.length; i++) {
if (results[i].url === response) {
alert("This page in my database"); // this work but I don't want an alert message
} //if
} //for
});
});
Большое спасибо, что это работа – Seham