【发布时间】:2023-03-28 05:38:01
【问题描述】:
我刚刚编写了一个小脚本,它允许我通过一个简单的 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?
谢谢:)
【问题讨论】:
-
那你为什么还有
"link"上下文呢?
标签: javascript google-chrome google-chrome-extension xmlhttprequest contextmenu