sample extension chrome google 크롬 확장에서 현재 페이지의 소스 HTML 가져 오기


0 Answers

google chrome extension api

나는 크롬 확장이있다. 현재 페이지의 HTML 소스에서 분석해야합니다. 백그라운드 페이지와 콘텐츠 스크립트로 모든 종류의 솔루션을 찾았지만 전혀 도움이되지 못했습니다. 여기 내가 지금까지 가지고있는 것이있다.
manifest.json :

{
  "name": "Extension",
  "version": "1.0",
  "description": "Extension",
  "browser_action": {
    "default_icon": "bmarkred.ico",
    "popup": "Test.html"
  },
  "content_scripts": [
    {
      "matches": ["http://*/*"],
      "js": ["content.js"]
    }
  ],
  "background": {
    "page": "backgroundPage.html"
  },
  "permissions": [
    "cookies",
    "tabs",
    "http://*/*", 
    "https://*/*"
  ]
}

background.html :

<html>
<head>
<script type="text/javascript">
    try {
        chrome.tabs.getSelected(null, function (tab) {
            chrome.tabs.sendRequest(tab.id, {action: "getSource"}, function(source) {
                alert(source);
            });
        });
    }
    catch (ex) {
        alert(ex);
    }
</script>
</head>
</html>

content.js :

chrome.extension.onRequest.addListener(function(request, sender, callback) {
    if (request.action == "getSource") {
        callback(document.getElementsByTagName('html')[0].innerHTML);
    }
});

경고는 항상 정의되지 않은 경고입니다. content.js 파일에서 콜백 함수를 변경하더라도 :

callback('hello'); 

여전히 같은 결과. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 어쩌면 내가 잘못된 방향으로 가고있을 수도 있습니다. 내가 정말로 필요로하는 것은 이것이다. 사용자가 확장 팝업을 열면 (그리고 그때 만) 분석 할 수 있도록 현재 페이지의 HTML이 필요합니다. 어떤 제안?



Related