我正在寻找一种<style>使用JavaScript 将标记插入HTML页面的方法.
到目前为止我找到的最佳方式:
var divNode = document.createElement("div");
divNode.innerHTML = "<br><style>h1 { background: red; }</style>";
document.body.appendChild(divNode);
Run Code Online (Sandbox Code Playgroud)
这适用于Firefox,Opera和Internet Explorer,但不适用于Google Chrome.<br>IE的前端也有点难看.
有谁知道创建<style>标签的方法
更好
适用于Chrome?
或者可能
这是我应该避免的非标准事情
三个工作浏览器很棒,谁还使用Chrome?
如何可靠地动态加载JavaScript文件?这将用于实现一个模块或组件,当'初始化'时,组件将根据需要动态加载所有需要的JavaScript库脚本.
使用该组件的客户端不需要加载<script>实现此组件的所有库脚本文件(并手动将标记插入其网页) - 只需要"主"组件脚本文件.
主流JavaScript库如何实现这一目标(Prototype,jQuery等)? 这些工具是否将多个JavaScript文件合并为一个可再发行的"构建"版本的脚本文件?或者他们是否动态加载辅助"库"脚本?
这个问题的补充:有没有办法在加载动态包含的JavaScript文件后处理事件? 原型document.observe适用于文档范围的事件.例:
document.observe("dom:loaded", function() {
// initially hide all containers for tab content
$$('div.tabcontent').invoke('hide');
});
Run Code Online (Sandbox Code Playgroud)
脚本元素有哪些可用事件?
有没有办法加载外部CSS文件,比如我们使用.getScript方法加载JS文件,也使用.getScript中的回调函数
$("<link/>", {
rel: "stylesheet",
type: "text/css",
href: "/styles/yourcss.css"
}).appendTo("head");
Run Code Online (Sandbox Code Playgroud)
这适用于FireFox和类似但不在IE中.
我正在开发Chrome扩展程序,我希望用户能够添加自己的CSS样式来更改扩展程序页面(而不是网页)的外观.我已经研究过使用document.stylesheets,但似乎它希望将规则拆分,并且不会让你注入完整的样式表.有没有一个解决方案可以让我使用字符串在页面上创建一个新的样式表?
我目前没有使用jQuery或类似的,所以纯Javascript解决方案会更好.
我知道document.styleSheets哪个页面包含所有有效的样式表.我想知道我是否可以创建一个新的并通过javascript将其附加到列表中.
我已经试过document.styleSheets[0].constructor,document.styleSheets[0].__proto__.constructor,new CSSStyleSheet,CSSStyleSheet(),全部是我从Chrome中得到的是TypeError: Illegal constructor.CSSStyleSheet.constructor()返回一个纯对象,但我期待一个CSSStyleSheet对象.
我知道我可以创建一个链接/样式元素并附加它,然后修改它.我想知道的是,我可以直接用javascript创建这样的对象吗?
我有一个网站使用screen.css作为主要的CSS文件.我为1024分辨率的显示器添加了这个.
$(document).ready(function(){
if(screen.width > 1024) {
$('link').attr('href','hi-res.css');
}
});
Run Code Online (Sandbox Code Playgroud)
问题是hi-res.css正在替换screen.css ...我不想替换它,我只想在这种情况下加载一个额外的CSS.有任何想法吗?谢谢.
嗨,朋友们,我尝试使用 jquery 为 iframe html 元素添加类,但我不能,我不知道如何。你能解释一下这怎么可能做到。我尝试使用查询为 iframe 添加类
$("iframe").addClass("myClass");
Run Code Online (Sandbox Code Playgroud)
它适用于 iframe,但我想在 jquery 的 iframe 元素中添加类,你能帮我解决这个问题吗?
我<!--[if IE 8]><![endif]-->用于针对IE8,但是我想为所有浏览器加载一些JS,除了IE8,我应该使用什么条件评论?
编辑:我想知道这是否会奏效: <!--[if lte IE 8]><![endif]-->
谢谢
我想对Blazor 中的不同布局和页面使用不同的 css 文件。因此,我不想将所有 css 文件直接导入 index.html,而是在需要时导入每个页面或布局。
<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
<link href="css/site.css" rel="stylesheet" />
<link href="lib/font-awesome/css/all.min.css" rel="stylesheet" />
<link href="customCss/adminpanle.min.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
因此,我在底部添加了 2 个链接,我只想将它们添加到一个布局中,而不是添加到 index.html 文件中。问题是:如何将 css 添加到 blazor 页面(.razor 文件)?
提前致谢!
我正在构建一个electron应用程序.在其中,我有webview一个preload脚本.在里面说的脚本,我想用sweetalert.
我安装sweetalert了npm install --save sweetalert.在我的脚本中,我加载它require('sweetalert')并调用它swal("Hello world!");.我现在注意到它看起来不正确,因为警报缺少其所需的CSS文件.但我正在加载它require('sweetalert'),这很好,因为它sweetalert可以保留在其目录里面node_modules而且我不必关心它,但它的CSS是它的一个组成部分,并且不会被拉出相同的方式.
现在,推荐的解决方法是什么?请记住,我在javascript文件中,并希望保持这种状态.我真的必须去获取CSS文件并以某种方式注入它吗?我怎么能正确地做到这一点,因为它在里面node_modules?在测试之后,由于内容安全策略,似乎无法在此特定情况下完成.
无论哪种方式,与require声明相比,这似乎很笨重,对于一个更简单的解决方案而言,它似乎很奇怪.