繁体   English   中英

chrome-如何使用dom和js在popup.html中显示图像

[英]chrome - How to display images in popup.html using dom and js

我正在做一个项目,我需要在chrome扩展弹出窗口中显示当前所选标签网站的所有图像,我尝试了很多操作,但是该弹出窗口始终显示为一个很小的弹出窗口,上面没有任何内容。

这是代码:

Dom.js:

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
 if (request.action == "getDOM")
sendResponse({dom: document.body.getElementsByTagName("img")});
 else
   sendResponse({}); // Send nothing..
});

Manifest.json:

{
"manifest_version": 2,
"name": "PrintIt",
"version": "1.0",
"description": "Partilha conteudo com redes sociais",
"browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
},
"permissions": [
    "tabs"
],
"content_scripts": [{
    "matches": [
        "http://www.google.com/*"
    ],
    "js": [
        "dom.js"
    ]
}]

}

Popup.html:

<html>
 <head>
 <script>
chrome.tabs.getSelected(null, function(tab) {
  // Send a request to the content script.
  chrome.tabs.sendRequest(tab.id, {action: "getDOM"}, function(response) {
  document.write(response.dom);
  });
});
 </script>
 </head>
 <body>
 </body>
</html>

我做了console.log(response.dom)并且在扩展控制台中遇到了以下错误:

Port error: Could not establish connection. Receiving end does not exist. miscellaneous_bindings:236
chromeHidden.Port.dispatchOnDisconnect miscellaneous_bindings:236
Error in event handler for 'undefined': Cannot read property 'dom' of
undefined TypeError: Cannot read property 'dom' of undefined
 at chrome-extension://cfboppmcojfddlkbpohfnnnkogpeflgk/popup.js:4:23
 at miscellaneous_bindings:281:11
 at chrome.Event.dispatchToListener (event_bindings:390:21)
 at chrome.Event.dispatch_ (event_bindings:376:27)
 at chrome.Event.dispatch (event_bindings:396:17)
 at Object.chromeHidden.Port.dispatchOnDisconnect (miscellaneous_bindings:239:27) event_bindings:380

我前一段时间遇到了同样的问题。 只是被禁止将脚本代码放在popup.html中,所以它不起作用。 将您的代码完全放在dom.js中,一切都应该没问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM