我目前正在尝试使用代码返回网页上显示的FIRST *图片:
img.src = chrome.extension.getBackgroundPage()。imageSrc [0]
0表示第一张图像。这似乎有效。但是,getBackgroundPage()仅适用于当前打开的选项卡。即使用户使用不同的网页,我希望这也能正常工作。
在发现如何找到当前正在运行的网站的第一张图片时,我首先要了解chrome.extension.getBackgroundPage()返回的内容。它是一个字符串?还是一个网址?
我试过更换它, [document.getelementId(" hi")。getsrc。] imageSRC [0] ... hi在htm中表示为div,我想要一个url的src但是它不起作用。任何解决方案?
答案 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(如果我正确读取它)并从网站返回扩展数据。
这可以用在你的扩展程序中吗?