Как загрузить веб-страницу в расширении Chrome без всплывающего окна без использования iframe и использования ajax - PullRequest
0 голосов
/ 06 марта 2012

Manizest.json

{
    "name":"MyExtension",
    "version":"1.0",
    "description":"MyExtension Description.",
    "icons":{"128":"browseraction.png"},
    "browser_action":
                    {
                        "default_icon":"icon.png",
                        "default":"Mi default title",
                        "popup":"popup.html"
                    },
    "permissions":[
    "http://*/*",
    "tabs"
    ]
}

и это мой popup.html

<html>
<head>
    <script type="text/javascript">     
        var address = "http://www.google.com";
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = handleStateChange; 
    xhr.open("GET", chrome.extension.getURL(address), true);//This dont work
    //xhr.open("GET", chrome.extension.getURL('/popup1.html'), true);//thisWork
    xhr.send();
    function handleStateChange()
    {
        if (xhr.readyState == 4) 
        {

            alert(xhr.responseText);
        }
        else
        {
            alert('Not Yet');
        }
    }
</script>
</head>
<body>

</body>
</html>

Я просто хочу отобразить HTML-код, с предупреждением я прочитал, http://code.google.com/chrome/extensions/xhr.html и другие ресурсы, но просто не работает Спасибо заранее

1 Ответ

4 голосов
/ 06 марта 2012

Ваш код не работает, потому что chrome.extension.getURL работает не работает, как вы ожидаете. Для заданной строки он пытается преобразовать URL-адрес в локальный файл с расширением chrome .

.

Если в качестве входных данных указано http://www.google.com/, возвращается www.google.com. Запрос XHR не завершен, поскольку URI недействителен (протокол [и путь] отсутствует). Кроме того, как всплывающее окно (действие браузера), так и сценарии содержимого ограничены политикой перекрестного происхождения .

Для создания междоменных запросов XHR необходимо включить Фоновую страницу и , добавить URI в manifest.json, в файле permissions .

Полный ответ доступен в этом ответе:

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