目前我加载标签并打开我需要的网址并从中抓取数据。 但这看起来很破旧,我不想打开用户面前的标签。
有几个Chrome扩展程序可以从网站上抓取数据,但是如果不在选项卡中加载页面,它们是如何做到的。 在iframe中加载网址是不可能的bcoz在标题中有一个选项“CROSS-ORIGIN”。
答案 0 :(得分:1)
如果您的意思是“从网站上抓取数据”,您可以查看XMLHttpRequest,它是一种基本的网络技术,并提供客户端功能,用于在客户端和服务器之间传输数据。
此外,当您想要在扩展中执行此操作时,请不要忘记request cross-origin permissions。
答案 1 :(得分:-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>