假设我有一个jsp页面,它包含这样的会话数据,
<input type="hidden" id="sessionData" value="${login}"/>
现在,我在js文件中有一个chrome扩展名(例如&#34; popup.js&#34;)我想使用getElementById
访问数据。例如,
chrome.tabs.getSelected(null,function(tab) {
//alert(tab.id);
var sessionData = document.getElementById('sessionData').value;
console.log('session data is '+sessionData);
alert(sessionData.lang);
});
不幸的是,我无法获取任何会话数据。没有显示警报。在获取会话数据之前,alert(tab.id);
会正确显示标签ID。 (请不要建议弃用chrome.tabs.getSelected
;我已经知道了。)
答案 0 :(得分:2)
使用chrome.tabs.executeScript()在以下标签中执行代码:
chrome.tabs.executeScript(null, {file: "content_script.js"});
<强> content_script.js 强>:
var sessionData = document.getElementById('sessionData').value;
console.log('session data is '+sessionData);
alert(sessionData.lang);
注意:您需要activeTab
权限才能在有效标签中执行代码
"permissions": [
"activeTab"
]