html - 如何设计一个应用程序来从给定的 URL 更改网站的 CSS 文件?
问题描述
我想制作一个类似于 Stylish 扩展程序和 google chrome 检查器的应用程序。是否可以制作这样的东西但不是作为扩展而是作为单独的服务工作?
我已经完成了基于 react 的客户端应用程序,其中包含要更改的元素的菜单,例如我可以选择字体类型、字体大小、颜色等。在菜单旁边,我有 iframe,它显示来自 url 的站点 - 我的想法是下载服务器端的整个网页,在 nginx 上使用 docker 部署它以提供服务并将我的新 url 发送回客户端。有没有更简单的方法呢?
我还完成了基于 spring 的简单后端应用程序,它将整个网页下载到文件夹中。这个应用程序中最重要的是生成单独的 CSS 文件,以后可以将其包含到给定的网页中。
我遇到了几个问题:
- 如何从 url 显示网站,如果使用 iframe,如何更改给定网站的 CSS?
- 如何立即显示更改的 CSS?
你是如何得到任何想法或提示的?
解决方案
要切换样式表,请给链接元素一个 id 以便您可以引用它,然后重置其 href,即
<link rel="stylesheet" href="style/default.css" id="themeStyles" />
function setTheme(themeName) {
let stylesheetUrl = 'style/' + themeName + '.css';
document.getElementById('themeStyles').setAttribute("href", stylesheetUrl);
}
如果 iframe 中托管的页面与 iframe 来自同一个域,那么这很容易通过跨框架脚本完成。
推荐阅读
- java - 为什么 list-iterator.next(); 除非重复多次直到结束,否则返回“无当前元素”位置?
- c# - 流利的验证链规则不适用于多个何时条件
- html - Wordpress 文本块删除表单输入
- laravel - Laravel 子域路由
- java - Android 如何刷新或重新加载列表视图数据和最终总计数据
- java - 无法仅在 Spring Tool Suite 中的一个项目中更改 Java 编译器 JDK 合规性
- excel - Excel VBA - 循环中单元格的条件格式
- csv - 如何将所有列都是字符串的 DataFrame 转换为具有特定模式的 DataFrame
- ocr - 从图像中识别正方体数
- python - 在 Python 中创建骰子模拟器,如何找到最常见的骰子