Могу ли я внедрить файл CSS программным способом, используя js-файл сценария содержимого?
Я могу ввести CSS, когда файл js связан с моим popup.html. Проблема заключается в том, что я должен нажать на кнопку, чтобы открыть всплывающее окно, чтобы ввести CSS. Я хочу, чтобы это происходило автоматически и в фоновом режиме.
Что происходит в моем коде ...
- Получить переменную из базы данных MySQL через XMLHttpRequest
- вызов функции "processdata ()"
- "processdata" Обрабатывает данные из XMLHttpRequest. В частности, разделите переменную, поместите ее в две разные переменные и сделайте их глобальными
- Я вызываю функцию "click ()"
- «щелчок» Затем установит CSS через 1250 миллисекунд, используя setTimeout
- Я использую chrome.tabs.insertCSS для вставки CSS. Имя css - это переменная " currenttheme "
Как я уже говорил, он работает с использованием всплывающего окна. Но всплывающее окно должно быть открыто до того, как CSS будет введен.
Как сделать так, чтобы все это происходило автоматически, без какого-либо взаимодействия с пользователем ?
Вот мой код:
function getData() {
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
user_data = xmlhttp.responseText;
window.user_data = user_data;
processdata();
}
}
xmlhttp.open("GET","http://localhost:8888/g_dta.php",true);
xmlhttp.send();
}
getData();
function processdata() {
var downdata = user_data.split('|||||');
var installedthemes = downdata[0];
var currenttheme = downdata[1].toString();
window.currenttheme = currenttheme;
click();
}
function click(e) {
function setCSS() {
chrome.tabs.insertCSS(null, {file:currenttheme + ".css"});
}
setTimeout(function(){setCSS()}, 1250);
document.getElementById('iFrameLocation').innerHTML = "<iframe src='http://localhost:8888/wr_dta.php?newid="+e.target.id+"'></iframe>";
getData();
}
document.addEventListener('DOMContentLoaded', function () {
var divs = document.querySelectorAll('div');
for (var i = 0; i < divs.length; i++) {
divs[i].addEventListener('click', click);
}
});