2016-03-14 2 views
0

В настоящее время я загружаю вкладки и открываю URL-адреса, которые мне нужны, и очищаю данные от них. Но это выглядит потрепанным, и я не хочу открывать вкладки перед пользователем.Как загрузить URL-адрес в фоновом режиме в chrome extension?

Существует несколько хромовых расширений, которые очищают данные от веб-сайтов, но как они это делают, не загружая страницу на вкладке. Загрузка url в iframe невозможна bcoz в заголовках есть опция «CROSS-ORIGIN».

+0

что именно расширения делают это? Всегда есть возможность проверить их исходный код ... – smnbbrv

+0

https://developer.chrome.com/extensions/xhr – BeardFist

ответ

-2

Chrome написали свои собственные документы по этому вопросу:

https://developer.chrome.com/extensions/background_pages

Вы должны зарегистрировать свою фоновую страницу в расширении манифеста, и использовать метод extension.getBackgroundPage читать его

Пример:

// React when a browser action's icon is clicked. 
chrome.browserAction.onClicked.addListener(function(tab) { 
var viewTabUrl = chrome.extension.getURL('image.html'); 
var imageUrl = /* an image's URL */; 

// Look through all the pages in this extension to find one we can use. 
var views = chrome.extension.getViews(); 
for (var i = 0; i < views.length; i++) { 
var view = views[i]; 

// If this view has the right URL and hasn't been used yet... 
if (view.location.href == viewTabUrl && !view.imageAlreadySet) { 

    // ...call one of its functions and set a property. 
    view.setImageUrl(imageUrl); 
    view.imageAlreadySet = true; 
    break; // we're done 
} 
} 
}); 

HTML:

<html> 
    <script> 
    function setImageUrl(url) { 
     document.getElementById('target').src = url; 
    } 
    </script> 

    <body> 
    <p> 
    Image here: 
    </p> 

    <img id="target" src="white.png" width="640" height="480"> 

    </body> 
</html> 
+0

Не имеет абсолютно никакого отношения к вопросу. – Xan

1

Если вы имеете в виду «скопировать данные с веб-сайтов», вы можете взглянуть на XMLHttpRequest, это базовая веб-технология и предоставляет клиентские функции для передачи данных между клиентом и сервером.

Кроме того, если вы хотите сделать это в дополнение, не забудьте указать request cross-origin permissions.

Смежные вопросы