Chrome扩展程序中的Javascript变量

时间:2016-03-27 12:14:49

标签: google-chrome-extension

我目前正在使用Chrome扩展程序,但我遇到了问题。我正在尝试使用Chrome扩展程序操作textarea。如果我直接输入一个值,代码就可以正常工作,但是如果我想从变量中获取值,它就不会工作..

此代码工作:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript({
    code: 'document.getElementById("message").value = "Hello!";'
  });
});

此代码已经工作:

carName = "Volvo";
chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript({
    code: 'document.getElementById("message").value = carName;'
  });
});

有人可以告诉我哪些错误以及我该怎么做?

提前致谢

2 个答案:

答案 0 :(得分:1)

这是因为该代码是在未定义carName的页面的上下文中执行的。不要在字符串中包含var名称,而是将var值附加到字符串,如下所示:

carName = "Volvo";
chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript({
    code: 'document.getElementById("message").value = '+carName+';'
  });
});

答案 1 :(得分:0)

如何在侦听器中定义变量:

chrome.browserAction.onClicked.addListener(function(tab) {
  carName = "Volvo";
  chrome.tabs.executeScript({
    code: 'document.getElementById("message").value = carName;'
  });
});