脚本在控制台中工作,但在chrome扩展中不起作用

时间:2015-03-29 15:43:51

标签: javascript jquery google-chrome-extension content-script

我正在尝试编写一个谷歌浏览器扩展程序,以便从互联网商店中获取一些数据(产品标题,描述,价格等),并将这些数据放入分类添加网站。

我还想从产品库中下载所有图片,以便能够将它们上传到后一个网站。

由于产品页面包含小分辨率图片,因此我点击它们以加载中等分辨率图片,然后使用HTML5属性下载下载它们。

这是我写的脚本:

//Fing li elements with small versions of pics
var li = $('#product_card_nav li');
var li_length = li.length; 
for (i=0; i<li_length; i++) {
    //click on each small pic to load a mid resolution pic
    li.eq(i).find('a').trigger('click');
    var img = $('.b-gallery2__img img');
    //create a link to download a mid resolution pic
    var link = document.createElement('a');                  
    link.href = img.attr('src');                  
    link.download = 'MyToy.jpeg';                  
    document.body.appendChild(link);                  
    link.click();   
}

当我将它复制并粘贴到chrome控制台中时,此脚本可以正常工作。但是当我尝试在我的chrome扩展程序的内容脚本中使用它时,它总是只下载第一张图片几次。

这种行为的原因是什么?

1 个答案:

答案 0 :(得分:0)

内容脚本可以访问您网页中的javascript。当您触发单击时,没有任何事情发生,因为您要运行的代码来自网页。

有关详情,请访问https://developer.chrome.com/extensions/content_scripts#execution-environment

(对不起我的英语)