我刚刚编写了一个小脚本,允许我通过简单的contextMenu项目将图像直接上传到我的服务器。 整个事情看起来(简化为核心)基本上就是这样:
background.js
chrome.browserAction.onClicked.addListener(function(activeTab) {
var newURL = "http://xxxxxxxx.xx/gallery/";
chrome.tabs.create({ url: newURL });
});
chrome.contextMenus.create({
"title": "XXX",
"contexts": ["image", "link"],
"onclick" : function(e) {
var url = e.srcUrl,
x = url.split('/');
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://xxxxxxxx.xx/xxx.php?url='+encodeURI(url)+'&auth=xxx&name='+x.pop(), true);
xhr.send();
}
});
其他一切都由我的服务器处理。
问题在于,如果整个思考包含在链接上下文中,我不知道如何访问img SRC。
如果它只是一个图像,则可以使用 e.srcUrl 轻松获取网址。
但是,如果我点击一个链接,只有 e.linkUrl ,据我所知,没有参考其中的实际图片。
如果context == link?
,是否有一种轻松简单的方法来获取img src?谢谢:)
答案 0 :(得分:1)
尝试使用chrome.tabs.executeScript
(在manifest.json中需要tabs
和activeTab
权限)来注入document.activeElement.querySelector('img').src
代码和read值。