[英]adding an image to HTML through chrome extension (JS)
我做了一个扩展,需要在每个页面上放置一个固定的图像。 内容脚本为:
imgTop = chrome.extension.getURL('top.png');
var top = document.createElement("img");
top.src=imgTop;
top.position='fixed';
top.zIndex='2353445';
top.top='200';
top.left='20';
document.getElementsByTagName('body')[0].appendChild(top);
我收到错误: Uncaught Error: NotFoundError: DOM Exception 8
我试过但不起作用的内容:
top.style.position
。 document.body
。 我知道我可以使用innerHTML
,但是确实很乱...
知道有什么问题吗? 还是注入图像的另一种方法?
这里的问题似乎是您的变量名为top
,Chrome浏览器将其与window.top
属性混淆了。 将变量名更改为其他名称,它应该可以正常工作,如下所示:
var topImage = document.createElement('img');
topImage.src = chrome.extension.getURL('top.png');
topImage.style.position = 'fixed';
topImage.style.zIndex = '2353445';
topImage.style.top = '200px';
topImage.style.left = '20px';
document.body.appendChild(topImage);
其他一些事情:样式属性是通过element.style.property
访问的,如果要对正文执行操作,请使用document.body
。 同样,不需要为图像URL设置单独的变量,只需像在这里那样直接为topImage.src
调用它,尤其是如果您只调用一次的话。
您将top.png添加到manifest.json吗?
您需要定义web_accessible_resources属性并列出资源(以及可选的针对这些资源的单独的内容安全策略)。
chrome扩展名文档网址: https : //developer.chrome.com/extensions/manifest.html#web_accessible_resources
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.