javascript - 如何使用带有 chrome 扩展的 react-shadow?
问题描述
我正在使用 React 开发一个 chrome 扩展。我正在使用 vanilla.js 作为背景和内容脚本。我想在网页的文本框中实现一个像 Grammarly 这样的 shadow-dom 元素。参考这张图片: 见gif的右下角
任何人都知道语法如何实现此功能?语法上的任何确切代码段?我尝试将阴影元素附加到内容脚本中,但结果并不令人满意。这是我尝试过的代码:
var host = document.activeElement;
var root = host.attachShadow({mode: 'open'});
var div = document.createElement('div');
div.className = 'div';
div.innerHTML = '<style>.div{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);}</style>this is shadow dom';
root.appendChild(div);
然后我尝试了这个react-shadow
包。但我无法将元素放入网页。那么如何在文本框的完全相同的位置显示这个动态元素呢?
解决方案
推荐阅读
- python - 在 Python 中重新排列字段
- c# - 如何在实体框架中选择所有列和自定义列?
- java - Room DAO 无法从数据库中检索数据
- postgresql - postgres 用户限制架构更改
- python - Ansible Playbook - Pysnow:使用“IN”子句查询查找记录
- bash - String -> SHA -> base64,通过 cmd 工具(openssl/xxd/base64)有 3 种方式和 3 种不同的结果,为什么?
- html - 输入值中的文本和符号未对齐
- c++ - 当类似的书面代码运行得更快时,为什么我的 C++14 KosaRaju 算法会获得 TLE
- c# - 如何使用新的 Azure.Storage.Blobs 命名空间仅获取 blob 中的文件夹名称
- sql - SQL 中两个 SELECT 语句的减法(redshift)