Javascript Chrome extensions JS无法从网页HTML读取值,假定是因为权限问题
我正在编写一个扩展,它读取我的a网站HTML中的值,并将其存储以用于回复。它只给了我下面的错误Javascript Chrome extensions JS无法从网页HTML读取值,假定是因为权限问题,javascript,html,google-chrome,google-chrome-extension,Javascript,Html,Google Chrome,Google Chrome Extension,我正在编写一个扩展,它读取我的a网站HTML中的值,并将其存储以用于回复。它只给了我下面的错误 javascript.js:4 Uncaught TypeError: Cannot read property 'value' of null at HTMLButtonElement.function1 (javascript.js:4) 我尝试添加chrome.tabs.executeScript(tabId,details,callback),但似乎没有帮助
javascript.js:4 Uncaught TypeError: Cannot read property 'value' of null
at HTMLButtonElement.function1 (javascript.js:4)
我尝试添加chrome.tabs.executeScript(tabId,details,callback),但似乎没有帮助
window.onload= function (){
document.getElementById("myBtn").addEventListener("click", function
function1() {
var MyDiv1 = document.getElementById('mainForm-_RaisedUserTitle').value;
var MyDiv2 = document.getElementById('mainForm-UserTitleDisplay').value;
var reply = (MyDiv1,MyDiv2);
console.log(reply);
document.getElementById('reply').innerHTML = reply;
})}
应改为:
var MyDiv1 = document.getElementById('mainForm-_RaisedUserTitle').value;
并存储该值
新代码
background.js
浏览器\u action.html
显示
它与权限无关。错误消息表示对象为
null
,这意味着页面中没有此类元素。您可能在错误的上下文中运行此代码,请参阅,我应该补充一点,当我在目标网站的控制台中运行Java脚本时,它工作正常。您的问题不包含查明问题所需的所有信息,因为扩展中有许多移动部分。你能把分机的拉链连接到这里吗?是的,这很公平!我用下面的完整代码进行了回购,谢谢你的帮助。删除“背景”和“浏览器操作”,然后在“内容脚本”()中添加脚本。它与权限无关。错误消息表示对象为null
,这意味着页面中没有此类元素。您可能在错误的上下文中运行此代码,请参阅,我应该补充一点,当我在目标网站的控制台中运行Java脚本时,它工作正常。您的问题不包含查明问题所需的所有信息,因为扩展中有许多移动部分。你能把分机的拉链连接到这里吗?是的,这很公平!我用下面的完整代码进行了回购,谢谢你的帮助。删除“背景”和“浏览器操作”,然后将脚本添加到“内容脚本”()。
chrome.extension.onMessage.addListener(
function (request, sender, sendResponse) {
chrome.pageAction.show(sender.tab.id);
sendResponse({ yourname: "mainForm-_RaisedUserTitle.value" });
return true;
});
<!doctype html>
<style type="text/css">
#mainPopup {
padding: 10px;
height: 200px;
width: 400px;
font-family: Helvetica, Ubuntu, Arial, sans-serif;
}
h1 {
font-size: 2em;
}
</style>
<div id="mainPopup">
<h1>Hello</h1>
<button id="myBtn">press</button>
<p class="reply" ></p>
</div>
chrome.extension.sendMessage({}, function (response) {
var readyStateCheckInterval = setInterval(function () {
if (document.readyState === "complete") {
clearInterval(readyStateCheckInterval);
document.getElementById("myBtn").addEventListener("click", function
function1() {
var MyDiv1 = document.getElementById('yourname');
//var MyDiv1 = 'test';
// var MyDiv2 = document.getElementById('mainForm-UserTitleDisplay').value;
// var MyDiv2 = 'test1';
var reply = ('Hello ' + MyDiv1
+ 'Kind Regards \n'
// + MyDiv2
);
console.log(reply);
document.getElementById('reply').innerHTML = reply;
})
}
}, 10);
});
{
"name": "...",
"version": "0.0.1",
"manifest_version": 2,
"description": "...",
"icons": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"default_locale": "en",
"background": {
"scripts": [
"src/bg/background.js"
],
"persistent": false
},
"browser_action": {
"default_icon": "icons/icon19.png",
"default_title": "browser action demo",
"default_popup": "src/browser_action/browser_action.html"
},
"chrome_url_overrides": {
"newtab": "src/override/override.html"
},
"permissions": [
"bookmarks",
"chrome://favicon/",
"clipboardRead",
"clipboardWrite",
"contentSettings",
"contextMenus",
"cookies",
"fileBrowserHandler",
"tts",
"ttsEngine",
"history",
"idle",
"management",
"notifications",
"tabs",
"geolocation",
"https://*/*"
],
"content_scripts": [
{
"matches": [
"https://www.google.com/*"
],
"css": [
"src/inject/inject.css"
]
},
{
"matches": [
"https://www.google.com/*"
],
"js": [
"src/inject/inject.js"
]
}
]
}