getBackgroundPage()函数究竟返回了什么? (谷歌浏览器)

时间:2015-09-21 06:03:02

标签: javascript jquery html css google-chrome

我目前正在尝试使用代码返回网页上显示的FIRST *图片:

  

img.src = chrome.extension.getBackgroundPage()。imageSrc [0]

0表示第一张图像。这似乎有效。但是,getBackgroundPage()仅适用于当前打开的选项卡。即使用户使用不同的网页,我希望这也能正常工作。

在发现如何找到当前正在运行的网站的第一张图片时,我首先要了解chrome.extension.getBackgroundPage()返回的内容。它是一个字符串?还是一个网址?

我试过更换它, [document.getelementId(" hi")。getsrc。] imageSRC [0] ... hi在htm中表示为div,我想要一个url的src但是它不起作用。任何解决方案?

1 个答案:

答案 0 :(得分:1)

为什么要尝试使用扩展来执行此操作?

试试这个;

document.getElementsByTagName('img')[0];

这是vanilla javascript,不需要插件,扩展程序或特定浏览器。

修改

回答你的问题;

  

返回当前扩展内运行的后台页面的JavaScript“窗口”对象。如果扩展名没有后台页面,则返回null。

根据the docs

编辑2

好的,所以,chrome.extension.getBackgroundPage()返回'window'对象,这意味着你可以这样做;

w = chrome.extension.getBackgroundPage()
w.document.getElementsByTagName('img')[0];

编辑3

拥有dom对象后,您可以获得任何属性;

document.getElementsByTagName('img')[0].src;

编辑4

最初不理解的道歉。看一下chrome上'BitBucket Notifier'扩展的来源。 Most importantly this file

它每隔5秒轮询Bitbucket(如果我正确读取它)并从网站返回扩展数据。

这可以用在你的扩展程序中吗?