This question already has an answer here:
How to access the webpage DOM rather than the extension page DOM?
(1个答案)
4年前关闭。
假设我有一个jsp页面,其中包含这样的会话数据,
现在,我有了一个chrome扩展名,并且要在js文件(例如“ popup.js”)中使用
不幸的是,我无法获取任何会话数据。没有警报显示。在获取会话数据之前,
content_script.js:
注意:您需要
(1个答案)
4年前关闭。
假设我有一个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);
});
不幸的是,我无法获取任何会话数据。没有警报显示。在获取会话数据之前,
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"
]