Могу ли я программно внедрить файл CSS, используя js-файл сценария содержимого?

Могу ли я ввести файл CSS программно, используя файл js сценария содержимого?

Я могу ввести CSS, когда файл js связан с моим всплывающим окном .html. Проблема в том, что мне нужно нажать кнопку, чтобы открыть всплывающее окно для ввода CSS. Я хочу, чтобы это происходило автоматически и в фоновом режиме.

Что происходит в моем коде ...

  1. Получить переменную из базы данных MySQL через XMLHttpRequest
  2. Вызвать функцию "processdata ()"
  3. "processdata" Будет обрабатывать данные из XMLHttpRequest.Точнее, разделите переменную, поместите ее в 2 разные переменные и сделайте их глобальными
  4. Я вызываю функцию "click ()"
  5. "click" Затем установлю CSS через 1250 миллисекунд, используя setTimeout
  6. I используйте 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);
  }
});
19
задан Jacques Blom 18 February 2012 в 23:05
поделиться