如何通过Chrome扩展程序获取特定网页的会话数据?

时间:2015-11-29 09:20:16

标签: javascript google-chrome session google-chrome-extension

假设我有一个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;我已经知道了。)

1 个答案:

答案 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"
]