Google Chrome расширение не работает - PullRequest
0 голосов
/ 05 сентября 2011

Это простое расширение, которое вызывает Xmlhttprequest для отправки данных POST в форму. Я также добавил простые окна сообщений в начале / конце кода js ... Код вызывается с фоновой страницы, и в manifest.json были предоставлены правильные разрешения Однако, когда я нажимаю на кнопку для этого расширения, ничего не происходит.

Ниже приведен код js для расширения -

alert("Beginning of code block");
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("POST","http://taurusarticlesubmitter.appspot.com/sampleform",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name=Arvind&description=Test description&email=arvind@taurusseo.com");
alert("End of code block");

Также я добавил следующий код в background.html -

<script>
  // Called when the user clicks on the browser action.
  chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(
        null, {file: "cdr.js"});
  });

  chrome.browserAction.setBadgeBackgroundColor({color:[0, 200, 0, 100]});


 </script>

Наконец, ниже дан мой манифест.json -

{
  "name": "My Second Extension",
  "version": "1.0",
  "background_page": "background.html",
  "description": "The second extension that I made.",
   "browser_action": {
        "name": "Data in iframe",
       "default_icon": "icon.png"
},  
"permissions": [ "tabs",
       "bookmarks",
           "http://*/*",
           "https://*/*",
            "unlimitedStorage"
     ]
 }

1 Ответ

1 голос
/ 05 сентября 2011

Я предполагаю, что ваш первый кодовый блок cdr.js?Тогда вы не запускаете его с фоновой страницы.Вместо этого ваша фоновая страница загружает скрипт содержимого , который пытается отправить запрос.Сценарии содержимого запускаются с правами страницы, в которую они были добавлены.Поэтому, если у этой страницы нет привилегий для отправки запроса на taurusarticlesubmitter.appspot.com, то у скрипта контента также не будет необходимых привилегий.

Если вашему скрипту контента необходимо выполнить привилегированное действиеотправка запроса на стороннюю страницу) он должен отправить сообщение на фоновую страницу и фоновая страница должна будет это сделать.

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