chrome.extension.sendRequest () асинхронная проблема - PullRequest
1 голос
/ 12 апреля 2011

Я создаю расширение Chrome, которое включает в себя изменение CSS сайта по умолчанию, скелет кода выглядит следующим образом:

chrome.extension.sendRequest({
    options: "foo"
}, function(response) {
    if(response=='on'){ 
 var d = document.documentElement;
  var css_chunk = document.createElement("style");
  css_chunk.type = "text/css";
  css_chunk.innerText = "img{ visibility:hidden !important; display:none !important; } ";
  d.insertBefore(css_chunk, null);          
    }
});

Я обнаружил, что это больше похоже на вызов AJAX, и поэтому CSS невсегда изменяйте до загрузки исходного сайта.Проблема в том, что иногда он «подмигивает» в течение очень короткого времени, прежде чем изображения исчезают.Есть ли возможность сделать этот вызов синхронным?

Я привязал добавить sleep (n) снаружи после звонка, и это работает.Однако эта функция является необязательной для пользователя, то есть, если функция отключена, также спит страница (n), что не очень разумно.

1 Ответ

0 голосов
/ 12 апреля 2011

Почему бы просто не использовать Stylebot ?Либо так, либо напишите сценарий Greasemonkey, и избавьте себя от необходимости писать полное расширение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...