更新
我想使用Javascript在chrome扩展中获取当前选项卡(url)的特定html元素的值。喜欢
document.getElementById("productTitle").value;
这是我的JavaScript代码
background.js
function sendCurrentTitle(title) {
var req = new XMLHttpRequest();
req.addEventListener('readystatechange', function (evt) {
if (req.readyState === 4) {
if (req.status === 200) {
alert('Saved !');
} else {
alert("ERROR: status " + req.status);
}
}
});
req.open('POST', 'http://url/a.php', true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send('url=' + title);
}
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.query({active: true}, function(tabs) {
sendCurrentTitle(document.getElementById("productTitle").value);
});
});
manifest.json
{
"manifest_version": 2,
"name": "Test Extension",
"version": "0.0",
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"browser_action": {},
"permissions": [
"activeTab",
"tabs",
"<all_urls>"
]
}
我想从产品称号此页面,并将其发送到PHP API。我收到此错误
错误处理响应:TypeError:无法读取null的属性“值”
你的扩展脚本在单独的窗口中运行,因此它无法通过自己的文档对象访问其他页面的DOM。你需要在扩展程序清单中指定tabs权限,并将一些javascript注入页面本身
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id,{code: `document.getElementById("productTitle").innerText`},sendCurrentTitle);
});
请不要在回调函数接收到数组的同时,在sendCurrentTitle中使用title [0]
我正在尝试从rads.stackoverflow.com/amzn/click/com/B01F9RH0R4获得产品标题, 但返回了“错误,无法读取属性'value'为null”的错误,请帮忙!
实施更改后是否仍然收到错误消息,或者不确定如何实施更改?
我已经实现了更改,但是仍然出现此错误(无法读取null的属性“值”),请看这里我是否在正确使用document.getElementById(“ productTitle”)。value)来获取产品标题?
您能用现在得到的内容更新您的帖子吗?脚本和清单
我已经更新了,请立即检查