Google Chrome 扩展 - 访问 DOM

发布于 2024-12-18 14:29:36 字数 137 浏览 0 评论 0原文

我一直在网上搜索,以了解如何访问当前选项卡 DOM,以从 background.html 的页面中提取信息。到目前为止,我还没有运气,或者至少没有什么能让我正常工作。

简单地陈述一下问题。我想获取页面上 iFrame 的 src。有什么建议吗?

I have been searching around the web to find out how to access the current tabs DOM to extract information out of a page from the background.html. So far I have had no luck, or at least nothing I could get to work properly.

To state the problem simply. I would like to get src of a iFrame on the page. Any Suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挖鼻大婶 2024-12-25 14:29:36

一种方式是,您可以将其视为对内容脚本的单个一次性请求,该请求将获取您想要访问的 dom。
http://code.google.com/chrome/extensions/messaging.html#simple基本上

,您的内容脚本会设置侦听器:

chrome.extension.onRequest.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "hello")
      sendResponse({farewell: "goodbye"});
    else
      sendResponse({}); // snub them.
  });

并且您的后台页面会发送一个实时请求:

chrome.tabs.getSelected(null, function(tab) {
  chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
    console.log(response.farewell);
  });
});

当您发送响应时,您将其作为 JSON 数据发送,您可以获取您想要的任何内容(例如 html、dom、文本等)。

这是目前让后台页面了解页面内容的唯一方法。请记住,您将需要内容脚本和选项卡权限。

One way, you an treat this as a single one time request to the content-script which will fetch the dom you want to access.
http://code.google.com/chrome/extensions/messaging.html#simple

Basically, your content script sets up the listener:

chrome.extension.onRequest.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "hello")
      sendResponse({farewell: "goodbye"});
    else
      sendResponse({}); // snub them.
  });

And your background page sends a single lived request:

chrome.tabs.getSelected(null, function(tab) {
  chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
    console.log(response.farewell);
  });
});

When you send your response, you send it as JSON data, you can fetch whatever you want (such as html, dom, text, etc).

That is currently the only way to let the background page know anything about the contents of a page. Remember you would need content scripts and tab permissions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文