我正在构建一个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声明相比,这似乎很笨重,对于一个更简单的解决方案而言,它似乎很奇怪.
如何在html上使用div标签中的jquery更改样式表?或者更改样式表的jquery代码是什么?
在javascript中,我们使用以下代码:
<script type="text/javascript">
function changeStyle() {
document.getElementById('stylesheet').href = 'design4.css';
}
</script>
Run Code Online (Sandbox Code Playgroud)
有jQuery的方式吗?
我需要允许来自我们网站的内容嵌入其他用户网站.该conent将是收费的所以我需要保持安全,但其中一个要求是订阅网站只需要将一些javascript放入他们的页面.
看起来保护我们内容的唯一方法是检查托管我们的javascript的页面的URL与订阅站点匹配.有没有其他方法可以做到这一点,因为我们不知道将访问订阅网站的客户端浏览器?
最好的方法是在页面加载时提供填充已知页面元素的javascript包含文件吗?我正在考虑使用jquery,因此include文件将首先在jquery中调用(检查它是否已经加载并使用某种命名空间保护),然后在页面加载时填充给定的元素.
我想尽可能包含一个样式表来设置元素的样式,但我不确定我是否可以将其与javascript一起加载.
这听起来像是一种合理的方法吗?还有什么我应该考虑的吗?
提前致谢,
麦克风
为了最大限度地提高移动设备的效率,我宁愿没有用于桌面版的图像.通过研究,我了解到只使用display:none;css或jQuery('img').hide()只隐藏图像,但仍然使用资源加载它.
我该怎么做:
<div class="com_router_img">
<img src="http://www.example.com/wp-content/uploads/2013/05/img.jpg"
alt="img" width="700" height="350" class="aligncenter size-full wp-image-307" />
</div>
Run Code Online (Sandbox Code Playgroud)
而不是在我的移动样式表上显示它?这是移动样式表查询:
<link rel="stylesheet" media='screen and
(-webkit-min-device-pixel-ratio: 1.4) and (-webkit-max-device-pixel-ratio: 1.5)'
href="<?php bloginfo('template_url'); ?>/smallphone.css" />
Run Code Online (Sandbox Code Playgroud) 我知道我可以把<link>标签放在正文中,显然它可以工作,但我知道它不是"有效"的HTML,我想避免使用像firefox这样的严格浏览器的问题,它忽略了网页设计师在没有定义的情况下所期望的每一个行为官方规范.
那么是否有一些官方方法在html的正文区域中加载样式表?
我有一个 React 16 应用程序,并希望允许用户通过按下按钮来更改整个应用程序(包括所有路由)的主题。
例如,我可以在 SCSS 中有两个主题:
.theme-1 {
background-color: $bg-color-1;
color: $color-1;
}
.theme-2 {
background-color: $bg-color-2;
color: $color-2;
}
Run Code Online (Sandbox Code Playgroud)
然后我会有一个按钮,如下所示:
<Button onClick={ this.changeTheme() }
Run Code Online (Sandbox Code Playgroud)
这能做到吗?具体来说,我想弄清楚这两个部分:
background-color和color.changeTheme()函数的逻辑。它究竟会如何触发所有受影响组件的重新渲染。谢谢!
我有特定的主题css,只有当弹出窗口启动时才需要,其他地方我没有使用那个CSS.简单地在网站发布启动时加载是浪费.
有没有办法只在需要时加载css即打开弹出窗口我可以加载样式表?
在document.ready事件触发后,我根据用户的分辨率动态加载样式表.这适用于Chrome,Firefox和IE:
var TheFileName = '/SomeDirectory/SomeFileName.css';
if (document.createStyleSheet) {
//finally found something IE got right
document.createStyleSheet(TheFileName);
} else {
$('<style id="TestCSS" type="text/css"></style>').appendTo('head');
$.get(TheFileName , function (TheCSS) {
$("#TestCSS").append(TheCSS);
});
}
Run Code Online (Sandbox Code Playgroud)
问题是它在Safari中不起作用.我没有mac所以我没有控制台错误,但我所知道的是样式表没有添加.我需要更改什么才能在Safari中使用它?
谢谢.
PS:我不想使用媒体查询.
var TheFileName = '/SomeDirectory/SomeFileName.css';
if (document.createStyleSheet) {
//finally found something IE got right
document.createStyleSheet(TheFileName);
} else {
$('<style id="TestCSS" type="text/css"></style>').appendTo('head');
$.get(TheFileName , function (TheCSS) {
$("#TestCSS").append(TheCSS);
});
}
Run Code Online (Sandbox Code Playgroud)
我最初有一个使用<link>添加标签的功能.我的页面完全是动态生成的,问题是在呈现DOM之后添加样式表会使元素在使用<link>标记时没有样式.所以我所做的是使用setTimeout来检查$('#TestCSS').length是否加载了样式表,然后我触发了创建HTML的函数.使用标记,无法知道何时附加CSS.
我从没想过我是傻瓜,但是......我发现了数百种在html中创建if语句的方法.有人说正确的方法是:
<!--[if IE]>
You're using IE!
<![endif]-->
<![if !IE]>
You're using something else!
<![endif]>
Run Code Online (Sandbox Code Playgroud)
或这个:
<![if !IE]>
//code
<![endif]>
Run Code Online (Sandbox Code Playgroud)
或者看看这个小提琴:http://jsfiddle.net/APFZh/2/
所有这些都不适用于我的电脑.为什么?所有人都说"你必须这样做......"并建议这样的答案,所以他们必须包含工作实例,但......
为什么他们不能在我的浏览器中工作?编写条件语句的正确方法是什么?是小提琴的例子吗?

我试图打开小提琴,即11,而不是FF和改变useragent.史诗.
为什么会这样?我该怎么办?请帮帮我!
我会试着解释一下我想做什么.如果类超过2,如何在多个类之间切换?当我点击彩色按钮时,将添加/交换容器颜色类.当我单击白色按钮时,它会删除容器颜色类.
这是一个更好理解的JSFiddle示例:https://jsfiddle.net/bwd86h4e/1/
我希望有人可以提供帮助.谢谢.
HTML:
<div class="buttons">
<div class="btn btn-reset"></div>
<div class="btn btn-red"></div>
<div class="btn btn-green"></div>
<div class="btn btn-yellow"></div>
</div>
<div class="container">
When I click on the colored buttons above, then container color class will exchanged. When I click on the white button, then it removes container color class. How to do it?
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
/* Buttons */
.btn {
display: inline-block;
width: 30px;
height: 30px;
margin: 3px;
cursor: pointer;
border: 2px solid #333;
}
.btn.btn-red { background-color: red; …Run Code Online (Sandbox Code Playgroud) 我的客户测试环境中有一个 SharePoint 2013 Server。它通过名为Net Scaler的缓存实例进行过滤,该实例可以很好地将相同的文件传递给不同的客户端。问题是它不检查文件是否是新的 - 它只是推出它得到的文件。
添加诸如之类的 css 变量styles.css?ver=1000可以解决问题,并且 Net Scaler 会将其视为新文件。但是,我很难在每个页面请求上使其唯一。
由于这是 SharePoint 2013,因此我不允许编辑后台代码,并且仅限于 .master 文件。我尝试过不同的标记,但没有任何效果符合我的预期。
这是我迄今为止的尝试,但没有达到预期效果。
<SharePoint:CssRegistration
name="/_catalogs/masterpage/Customer/Style/ResponsiveMaster.css?ver=
<%= DateTime.Now.ToString() %>" runat="server" after="SharepointCssFile" />
<!-- or -->
<link rel="stylesheet" type="text/css"
href="/_catalogs/masterpage/Customer/Style/ResponsiveMaster.css?ver=
<%= DateTime.Now.ToString() %>" />
Run Code Online (Sandbox Code Playgroud)
我什至尝试使用这篇文章中的内联 JavaScript 加载css 文件 How to load up CSS files using Javascript? :
<script type="text/javascript">
//<![CDATA[
var $ = document; // shortcut
var timestamp = Date.now();
var cssId = '/_catalogs/masterpage/Customer/Style/ResponsiveMaster.css?ver=' + timestamp;
// you could encode the …Run Code Online (Sandbox Code Playgroud)