Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome-如何使用dom和js在popup.html中显示图像_Javascript_Image_Google Chrome_Dom_Popup - Fatal编程技术网

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

Javascript chrome-如何使用dom和js在popup.html中显示图像,javascript,image,google-chrome,dom,popup,Javascript,Image,Google Chrome,Dom,Popup,我正在做一个项目,我需要在chrome扩展弹出窗口上显示当前所选标签网站的所有图像,我尝试了很多方法,但弹出窗口总是显示为一个小弹出窗口,上面没有任何内容 代码如下: Dom.js: chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { if (request.action == "getDOM") sendResponse({dom: document.body.getElements

我正在做一个项目,我需要在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>

不久前我遇到了同样的问题。只是禁止将脚本代码放在popup.html中,这样它就不起作用了。将代码完全放在dom.js中,一切都会好起来。

我可以简单地创建popup.html“”并使用“chrome.tabs.getSelected”(null,function(tab){//向content script.chrome.tabs.sendRequest(tab.id,{action:“getDOM”},function(response){document write(response.dom);}创建一个popup.js吗);'是的,您可以在popup.html的标题中定义“”-当弹出窗口出现时(您单击图标),此脚本将自动运行,而不需要其他巫毒;)我不确定你的剧本到底是做什么的——看起来我是在一个更简单的男人身上工作。还要记住,清单中定义的所有脚本都可以访问当前页面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