我目前正在尝试使用代码返回网页上显示的第一个*图像:
img.src = chrome.extension.getBackgroundPage().imageSrc[0]
0代表第一张图片。这似乎有效。但是,getBackgroundPage() 仅适用于当前打开的选项卡。即使用户使用不同的网页,我也希望它能正常工作。
在发现如何找到当前未运行的网站的第一张图片时,我首先必须了解 chrome.extension.getBackgroundPage() 返回的内容。它是一个字符串吗?还是网址?
我试过将其替换为, [document.getelementId("hi").getsrc.]imageSRC[0]...hi 在 htm 中表示为带有我想要的 url 的 src 的 div...但它不起作用。有什么解决办法吗?
最佳答案
为什么要尝试使用扩展程序来执行此操作?
试试这个;
document.getElementsByTagName('img')[0];
这是普通的 javascript,不需要插件、扩展或特定的浏览器。
编辑
回答您的问题;
Returns the JavaScript 'window' object for the background page running inside the current extension. Returns null if the extension has no background page.
那是根据 the docs .
编辑 2
好的,chrome.extension.getBackgroundPage() 返回“窗口”对象,这意味着您可以这样做;
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(如果我没看错的话),并从扩展站点返回数据。
这可以用在你的扩展中吗?
关于javascript - getBackgroundPage() 函数究竟返回什么? (谷歌浏览器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32688318/