Как проверить, работает ли мое расширение браузера Javascript - PullRequest
1 голос
/ 04 сентября 2011

Я пытаюсь создать простое расширение на основе JavaScript для Google Chrome, которое берет данные из одного конкретного iframe и отправляет их как часть запроса POST на веб-страницу.Веб-страница, которая отправляет данные, отправленные POST-запросом, на мой адрес электронной почты.

Я попытался запустить расширение, похоже, оно работает нормально, но я не получаю никаких писем.Сервлет, который получает данные формы, очень прост, я не думаю, что в этом есть какая-либо ошибка.Мне нужен какой-то способ проверить, работает ли расширение на основе JavaScript.

Код javascript приведен ниже -

var mypostrequest=new ajaxRequest()
mypostrequest.onreadystatechange=function(){
    if (mypostrequest.readyState==4){
        if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
            document.getElementById("result").innerHTML=mypostrequest.responseText
        }
        else{
            alert("An error has occured making the request")
        }
    }
}
var namevalue=encodeURIComponent("Arvind")
var descvalue=encodeURIComponent(window.frames['test_iframe'].document.body.innerHTML)
var emailvalue=encodeURIComponent("arvindikchari@yahoo.com")
var parameters="name="+namevalue+"&description="+descvalue &email="+emailvalue
mypostrequest.open("POST", "http://taurusarticlesubmitter.appspot.com/sampleform", true)
mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
mypostrequest.send(parameters)

ОБНОВЛЕНИЕ

Я внес изменения, чтобы содержимое в js-файле вызывалось фоновой страницей, но даже сейчас расширение не работает.

Я поместил следующий код в background.html:

<script> 
    // Called when the user clicks on the browser action.   
    chrome.browserAction.onClicked.addListener(function(tab) { 
        chrome.tabs.executeScript( null, {file: "content.js"}); 
    }); 
    chrome.browserAction.setBadgeBackgroundColor({color:[0, 200, 0, 100]}); 
</script>

1 Ответ

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

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

Чтобы проверить, работает ли ваше расширение, вы можете открыть dev tools и проверить, нет ли ошибок в консоли. Откройте вкладку «Сеть» и посмотрите, был ли отправлен запрос на ваш URL. Поместите console.log в различные места кода для отладки или используйте полнофункциональный встроенный отладчик javascript для пошаговой отладки.

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