【问题标题】:Chrome extension - get img src if image is wrapped inside linkChrome 扩展 - 如果图像包含在链接中,则获取 img src
【发布时间】: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


【解决方案1】:

尝试使用chrome.tabs.executeScript(在 manifest.json 中需要tabsactiveTab 权限)注入document.activeElement.querySelector('img').src 代码和read 值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 2016-10-26
    • 1970-01-01
    • 2013-01-29
    • 2016-04-20
    • 2023-03-05
    • 2011-06-09
    相关资源
    最近更新 更多