2016-03-27 73 views
0

我目前正在努力扩展Chrome浏览器,但我卡住了..我试图操纵一个textarea与Chrome扩展。如果我把一个值直接,代码工作正常,但如果我想从变量的值就不会工作。在Chrome扩展中的Javascript变量

此代码:

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

此代码没有按” T WORK:

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

有人能告诉我什么是错的,我该怎么做对吗?

在此先感谢

回答

1

这是因为代码在没有定义carName页面的上下文中执行。相反,包括字符串中的变数名称中,VAR值添加到字符串,像这样:

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

也试过这一点,但它没”工作..我认为这与executeScript函数有关,有没有办法避免这种情况? – Gamerifty

0

怎么样定义监听器里的变量:

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

也没有工作 – Gamerifty