【问题标题】:How to pass variable from background_page to tab in Google Chrome extension如何将变量从 background_page 传递到 Google Chrome 扩展程序中的选项卡
【发布时间】:2012-03-21 19:00:39
【问题描述】:

我首先右键单击图像。 单击上下文菜单项时,我正在从我的 background_page 执行一个脚本,其中一部分是 -

function getView(info, tab){
  chrome.tabs.executeScript(null, {code:'var i1hold = document.createElement("img");'});
  chrome.tabs.executeScript(null, {code:'i1hold.setAttribute("id", "i1");'});
  chrome.tabs.executeScript(null, {code:'i1hold.setAttribute("src",' + info.srcUrl + ')'});
  chrome.tabs.executeScript(null, {code:'document.getElementById("image").appendChild(i1hold);'});
}

这条线不工作:-

chrome.tabs.executeScript(null, {code:'i1hold.setAttribute("src",' + info.srcUrl + ')'});

我也试过:-

chrome.tabs.executeScript(null, {code:'i1hold.setAttribute("src",info.srcUrl)'});

如何将 src 属性设置为与右键单击上下文菜单项的图像相同??

【问题讨论】:

    标签: google-chrome tabs google-chrome-extension contextmenu


    【解决方案1】:

    必须添加引号:

    chrome.tabs.executeScript(null,
        {code:'i1hold.setAttribute("src", "' + info.srcUrl + '")'});
    //                                    ^                   ^
    

    另外,将代码连接在一个字符串中,使用chrome.tabs.executeScript一次

    function getView(info, tab){
        var code = 'var i1hold = new Image;'
                 + 'i1hold.setAttribute("id", "i1");'
                 + 'i1hold.setAttribute("src", "' + info.srcUrl + '");'
                 + 'document.getElementById("image").appendChild(i1hold);';
        chrome.tabs.executeScript(null, {code: code});
    }
    

    【讨论】:

      猜你喜欢
      • 2017-10-23
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多