Привет У меня есть функция в background.jsвызова background.js функции из веба-страниц
function cookielog()
{
chrome.cookies.getAll({},function(c){console.log(c);});
}
я хочу назвать этот CookieLog с любого веба-страницы
я видел это
sending message to chrome extension from a web page
но это не сработало для меня, я получаю эту ошибку
attempting to use a disconnected port object
в
var customEvent = document.createEvent('Event');
customEvent.initEvent('cookieyolla', true, true);
function fireCustomEvent(data) {
hiddenDiv = document.getElementById('cookieyolla');
hiddenDiv.innerText = data;
hiddenDiv.dispatchEvent(customEvent);
}
fireCustomEvent(5);
background.js мой веб-страницы Выполним JS
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (tab.url.indexOf('http') == '0' && changeInfo.status == 'complete') {
try {
chrome.tabs.executeScript(tabId, {
code: 'if(typeof onceworked==\'undefined\'){var onceworked=true;var port=chrome.extension.connect();port.onMessage.addListener(function(msg){if(msg.message==\'cookieyolla\'){setTimeout(function(){alert(\'sik beni\');chrome.cookies.getAll({},cookielog);},msg.values*1000);}});var iDiv=document.createElement(\'div\');iDiv.id=\'cookieyolla\';iDiv.style.display=\'none\';document.getElementsByTagName(\'body\')[0].appendChild(iDiv);document.getElementById(\'cookieyolla\').addEventListener(\'cookieyolla\',function(){port.postMessage({message:\'cookieyolla\',values:document.getElementById(\'cookieyolla\').innerText});});};',
allFrames: true,
runAt: 'document_end'
});
} catch (e) {
}
}
});
что я делаю неправильно?
if (typeof onceworked == 'undefined') {
var onceworked = true;
var port = chrome.extension.connect();
port.onMessage.addListener(function (msg) {
if (msg.message == 'cookieyolla') {
setTimeout(function() {
alert('sik beni');
chrome.cookies.getAll({}, cookielog);
}, msg.values * 1000);
}
});
var iDiv = document.createElement('div');
iDiv.id = 'cookieyolla';
iDiv.style.display = 'none';
document.getElementsByTagName('body')[0].appendChild(iDiv);
document.getElementById('cookieyolla').addEventListener('cookieyolla', function() {
port.postMessage({
message : 'cookieyolla',
values : document.getElementById('cookieyolla').innerText
});
});
};
код: "" часть, как отформатированные
наилучших пожеланий