Javascript Chrome extensions JS无法从网页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),但似乎没有帮助

我正在编写一个扩展,它读取我的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),但似乎没有帮助

        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"
      ]
    }
  ]
}