假设我有一个保存像这样的 session 数据的 jsp 页面,
<input type="hidden" id="sessionData" value="${login}"/>
现在,我有一个 chrome 扩展,并且在 js 文件(例如“popup.js”)内我想使用 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);
});
不幸的是,我无法获取任何 session 数据。没有显示任何警报。在获取 session 数据之前,alert(tab.id);
正确显示选项卡 ID。 (请不要暗示 chrome.tabs.getSelected
已被弃用;我已经知道了。)
最佳答案
使用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"
]
关于javascript - 如何通过chrome扩展获取特定页面的 session 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33981209/