首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Chrome扩展中提取数据的网页

从Chrome扩展中提取数据的网页
EN

Stack Overflow用户
提问于 2013-07-20 23:37:39
回答 2查看 2.6K关注 0票数 1

从网页抓取数据到Chrome扩展中是可能的,但也有可能做相反的事情,即网页从chrome扩展中提取数据。

场景是:当我们在标签页中加载一个新页面时,chrome扩展将从服务器收集数据,网页可以在需要的时候从插件中收集数据。一般来说,这不是一个好的解决方案,但是当多个网页使用相同的数据数据时,而不是所有的页面都与服务器交互,只有chrome扩展才会一次并且每个页面都获取数据。

可以通过扩展从服务器采集数据,但是网页如何通过请求扩展来获取数据呢?也许这在某种程度上是可能的。

注意:讨论对于所有浏览器都是通用的,但我刚刚标记了Chrome-extensions,因为我试图从Chrome开始。

EN

回答 2

Stack Overflow用户

发布于 2013-07-21 21:21:10

潜在的解决方案是使用“消息传递API”。

代码语言:javascript
复制
// The ID of the extension we want to talk to.
var id = "abcd..";

// Make a simple request:
chrome.runtime.sendMessage(id, {openUrlInEditor: url},function(response) {
if (!response.success)
 handleError(url);
});

在该扩展中,您可以通过runtime.onMessageExternal或runtime.onConnectExternal API收听来自网页的消息,以下是一个示例:

代码语言:javascript
复制
chrome.runtime.onMessageExternal.addListener(
  function(request, sender, sendResponse) {
  if (sender.url == blacklistedWebsite)
   return;  // don't allow this web page access
if (request.openUrlInEditor)
  openUrl(request.openUrlInEditor);
});

来源:http://developer.chrome.com/extensions/messaging.html

希望它能有所帮助!!

票数 2
EN

Stack Overflow用户

发布于 2013-07-21 00:56:35

我猜这里的解决方案是使用后台脚本来获取所需的数据,然后通过chrome.tabs.executeScript将JSON对象注入到页面中……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17763843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档