Chrome扩展程序:传递参数时出现问题

时间:2015-12-14 23:24:56

标签: google-chrome-extension

这是有效的:

function click(e) {
    chrome.tabs.executeScript(null, {
        code: 'var money = 1;'
    }, function() {
        chrome.tabs.executeScript(null, {file: 'peace.js'});
    });
}

这不是(编辑代码以方便):

function click(e) {

    var test = 'test';
    chrome.tabs.executeScript(null, {
        code: 'var money = ' + test + ';'
    }, function() {
        chrome.tabs.executeScript(null, {file: 'peace.js'});
    });
}

如何正确传递? 谢谢!

2 个答案:

答案 0 :(得分:1)

我认为你的问题是字符串值格式不正确。例如,

var money=test;

无法正常工作,因为执行test时,脚本不知道function click(e) { var test = 'test'; chrome.tabs.executeScript(null, { code: 'var money = "' + test + '";' }, function() { chrome.tabs.executeScript(null, {file: 'peace.js'}); }); } 是什么。

如果你想传递一个字符串,它应该是

var money="test";

这样,执行的代码将是{{1}}

答案 1 :(得分:0)

找到了解决方法:

if (e.target.id == 'test1') {
    chrome.tabs.executeScript(null, {
        code: 'var money = 1'
    }, function() {
        chrome.tabs.executeScript(null, {file: 'peace.js'});
    });
} else  if (e.target.id == 'test2') {
    chrome.tabs.executeScript(null, {
        code: 'var money = 2'
    }, function() {
        chrome.tabs.executeScript(null, {file: 'test.js'});
    });
}