javascript - 使用特定 HTML 元素的坐标添加到 DOM 时,DIV 中的 SVG 不显示
问题描述
我正在创建一个浏览器扩展,我现在正在 Chrome 和 Edge 上对其进行测试。它在网页中的一些单词上放置一个 svg 绘图,根据字体调整其大小。
将带有 svg 的简单 div 添加到 DOM。我把 zIndex= auto 或继承,但我在某个网页上发现了一个奇怪的行为: https ://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript
如果扩展程序在匹配“选项卡”的单词上绘制了图形,那么您在页面顶部可以看到的标题中的第一次出现根本看不到。我检查了开发人员工具,并且 div 像其他人一样存在,只是没有出现。
function createDiv(x,y,size) {
var scrollX=window.scrollX;
var scrollY=window.scrollY;
var div=null;div=document.createElement('div');
div.className=CLASS_NAME;
div.style.position = 'absolute';
var color=COLOR;
div.style.opacity='0.6';
div.style.zIndex='auto';
div.style.top=(scrollY+(y)-size/4)+'px';
div.style.height=(size)+'px';
div.style.left=(scrollX+(x))+'px';
if (scrollX+(x)+size>window.innerWidth) div.style.left=window.innerWidth-size;
div.style.width=(size)+'px';
div.innerHTML='<svg ...>';
div.style.visibility='visible';
return div;
};
....
div=createDiv(param1,param2,param3);
document.body.appendChild(div);
(52.71875 118 110 的参数应该匹配第一次出现)
是 zIndex 问题吗?还是另一种 HTML 问题?
解决方案
推荐阅读
- javascript - 如何在具有偏移数的数组上使用解构
- docker - 在同一容器中为 python 和 nodejs 多阶段构建
- excel - 每次某个单元格更改时创建一个新的日期戳?
- windows - 读取句子最后一个单词的批处理脚本
- python-3.x - 在 Pandas 中根据多个条件选择数据
- apollo - 如何使用
具有初始查询的组件? - typescript - 删除和删除有什么区别?
- mysql - Mysql 两个查询都使用“Using where & Using temporary”,但是速度有区别
- python - 如何切换 Jupyter Notebook 显示日志记录
- ios - 有没有办法以编程方式在选项卡栏上创建视图控制器?