Chrome扩展程序 - 如果图片包含在链接

时间:2015-05-27 10:00:04

标签: javascript google-chrome google-chrome-extension xmlhttprequest contextmenu

我刚刚编写了一个小脚本,允许我通过简单的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?

谢谢:)

1 个答案:

答案 0 :(得分:1)

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