Загрузка HTML-страниц условно с пользовательскими данными из popup.js
Привет,
Мне нужна твоя помощь! Я новичок в расширении chrome, и я застрял с нижеприведенным случаем, так что не могли бы вы мне помочь?
Нам нужно загрузить HTML страницы с пользовательскими данными условно во всплывающем окне по умолчанию из popup.js файл. Я добавил ниже код в popup.js. Когда пользователь входит в расширение, то мы храним его в chrome.storage с помощью API chrome.storage.sync.set() и получаем сведения об этом пользователе, следуя коду в popup.js файл.
---------------------------------------
chrome.storage.sync.get(["пользователь"], функция(элементы) {
если (!предметы.пользователь){
окно.местоположение.href = "login.html";
} еще {
$("#usernameId").текст ("Добро пожаловать" +элементы.пользователей.имя пользователя);
$("#totcretid").text(items.user.tot_credit);
$("#leftCreditId").text(items.user.left_credit);
окно.местоположение.href = "main.html";
}
});
---------------------------------
Он работает нормально, но данные пользователя не отражаются (имя пользователя, общий кредит, левый кредит и т. д.) В main.html Пейдж, не могли бы вы поправить меня, что я делаю не так?
Заранее спасибо!
Что я уже пробовал:
NOTE:- Below are files in my extension :- ------------ manifest.json { "background": { "persistent": true, "scripts": [ "js/libs/jquery-2.2.3.min.js", "js/libs/aes.js", "js/libs/aes-json-format.js", "js/global.js", "js/background.js" ] }, "browser_action": { "default_icon": "images/logo.png", "default_popup": "popup.html", "default_title": "LeadCapture" }, "content_scripts":[{ "css": [ "css/content.css" ], "js": [ "js/libs/jquery-2.2.3.min.js"], "matches": [ "http://*/*", "https://*/*" ], "run_at": "document_end" }], "content_security_policy": "script-src 'self' 'unsafe-eval' https://code.jquery.com; object-src 'self'", "description": "LeadCapture", "homepage_url": "http://app.demo.25.com/", "icons": { "128": "images/logo128.png", "48": "images/logo48.png" }, "web_accessible_resources": [ "/*" ], "manifest_version": 2, "name": "LeadCapture", "permissions": ["tabs", "activeTab", "cookies", "clipboardWrite", "storage", "http://app.demo.25.com/*" ], "version": "0.1" } popup.html page <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="js/libs/jquery-2.2.3.min.js"></script> <script type="text/javascript" src="js/global.js"></script> <script type="text/javascript" src="js/popup.js"></script> </head> <body style="width:350px;"></body> </html> popup.js file $(function(){ chrome.cookies.get({'url': objSettings.COOKIE_PATH, 'name': 'uuid'}, function(cookie){ if(cookie){ objSettings.UUID = cookie.value; chrome.extension.getBackgroundPage().objSettings.UUID = cookie.value; } chrome.tabs.query({active:true,currentWindow:true}, function(tab){ //chrome.tabs.reload(tab[0].id); var jsScript = ''; $.ajax({ url: "http://app.demo.25.com/extension/content.js", type: 'GET', cache: false, async: false, success: function(data){ jsScript = data; } }); chrome.tabs.executeScript(tab[0].id, {code: jsScript},function() { // If you try and inject into an extensions page or the webstore/NTP you'll get an error if (chrome.runtime.lastError) { /*console.error( "There was an error injecting script : \n" + chrome.runtime.lastError.message, );*/ } }); message = {from:'popup', task:'bootStrapExtension', uuid:objSettings.UUID, loadFile:'', showTab:'lg_extension_tab_3', tabUrl:tab[0].url}; if(objSettings.UUID == '') message.loadFile = 'login.html'; else{ message.loadFile = 'main.html'; } chrome.tabs.sendMessage(tab[0].id, message); chrome.storage.sync.get(["user"], function(items) { if (!chrome.runtime.error) { if (!items.user) { alert('IF'); chrome.browserAction.setPopup({popup:message.loadFile}); } else { if(items.user.username.length > 0) $("#customUsernameId").text('Welcome '+items.user.username); if(items.user.tot_credit.length > 0) $("#customTotCreditId").text(items.user.tot_credit); if(items.user.left_credit.length > 0) $("#customLeftCreditId").text(items.user.left_credit); var userExt = { username: items.user.username, tot_credit: items.user.tot_credit, left_credit: items.user.left_credit }; chrome.storage.sync.set({ user: userExt }, function(result) { //chrome.browserAction.setPopup({popup:message.loadFile}); window.location.href = message.loadFile; }); } } }); }); }); }); main.html login.html background.js <content.js .. etc