首页 > 解决方案 > 如何从 chrome 扩展的弹出页面访问当前网站的内容。我想在扩展弹出窗口中显示选定的网站行

问题描述

//这些是我写的代码。谁能用一个简单的例子(可执行代码)来解释它。这将是一个很大的帮助。 我的目标是从网页中选择特定的行并将其显示在弹出的 psge 中。但我无法找出如何从弹出页面访问当前的 webpge 内容。

这是我的清单代码:
清单:

        {
      "manifest_version": 2,
      "name": "Hello",
      "version": "1.0",
      "description" : "Hello world extension",
      "icons":{
        "128":"icon128.png",
        "48" : "icon48.png",
        "16": "icon16.png"
    
                 },
      "browser_action":{
        "default_icon":"icon16.png",
        "default_popup":"popup.html"
      },
    
      "permissions": ["tabs", "<all_urls>"]
    
    }

//这是我的弹出代码:

    popup.html code: 
    
        <!DOCTYPE html>
    <html style=''>
    <head>
    
    </head>
    <body style="width:400px;">
    <div id='message'>Injecting Script....</div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="popup.js" charset="utf-8"></script>
    </body>
    </html>
    

//这是popup.js代码:

    hrome.runtime.onMessage.addListener(function(request, sender) {
      if (request.action == "getSource") {
        message.innerText = request.source;
      }
    });
    
    function onWindowLoad() {
    
      var message = document.querySelector('#message');
    
      chrome.tabs.executeScript(null, {
        file: "getPagesSource.js"
      }, function() {
        // If you try and inject into an extensions page or the webstore/NTP you'll get an error
        if (chrome.runtime.lastError) {
          message.innerText = 'There was an error injecting script : \n' + chrome.runtime.lastError.message;
        }
      });
    
    }

标签: javascriptgoogle-chrome-extensionfrontend

解决方案


推荐阅读