小编木川 *_* 炎星的帖子

通过JavaScript更改CSS伪元素样式

是否可以通过JavaScript更改CSS伪元素样式?

例如,我想动态设置滚动条的颜色,如下所示:

document.querySelector("#editor::-webkit-scrollbar-thumb:vertical").style.background = localStorage.getItem("Color");
Run Code Online (Sandbox Code Playgroud)

而且我也希望能够像这样告诉滚动条隐藏:

document.querySelector("#editor::-webkit-scrollbar").style.visibility = "hidden";
Run Code Online (Sandbox Code Playgroud)

但是,这两个脚本都返回:

未捕获的TypeError:无法读取null的属性'style'

还有其他方法可以解决这个问题吗?
跨浏览器的互操作性并不重要,我只需要它在webkit浏览器中工作.

javascript css css-selectors pseudo-element selectors-api

54
推荐指数
6
解决办法
6万
查看次数

你能用CSS或JavaScript创建渐变到不透明度的渐变吗?

WebKit引入了创建CSS渐变的功能.例如,使用以下代码:

-webkit-gradient(linear, left top, left bottom, from(#fff), to(#000));
Run Code Online (Sandbox Code Playgroud)

但是,使用CSS可以使用不透明度渐变吗?我希望渐变在一侧是单色,在另一侧渐变为零不透明度.

跨浏览器兼容性并不重要; 我只需要它在谷歌浏览器中工作.

有没有办法用CSS做到这一点?如果没有,可以使用JavaScript(而不是jQuery)完成类似的事情吗?

谢谢你的帮助.

javascript css gradient google-chrome opacity

27
推荐指数
2
解决办法
3万
查看次数

用JavaScript中的`if`语句连接字符串

我正在尝试设置一个脚本来连接字符串中的一些变量(如果它们存在),以便将适当的元数据标记放入呈现的HTML文档中.

我的连接代码是:

data = "<html>\n<head>\n" + "</head>\n<body>\n\n" + paras.join("\n\n") + "\n\n</body>\n</html>";
Run Code Online (Sandbox Code Playgroud)

我正在尝试将if以下语句添加到其中(在第一个和第二个项目之间):

    if (typeof metadata_title !== "undefined") {
        "<title>" + metadata_title + "</title>\n"
    }
    if (typeof metadata_author !== "undefined") {
        "<meta name=\"author\" content=\"" + metadata_author + "\"></meta>\n"
    }
    if (typeof metadata_date !== "undefined") {
        "<meta name=\"date\" content=\"" + metadata_date + "\"></meta>\n"
    }
Run Code Online (Sandbox Code Playgroud)

但我无法将这些语句中的任何一个直接添加到连接代码中(它会引发错误:) Unexpected token (.

我最好如何将这些语句添加到我的串联字符串中?

javascript string concatenation string-concatenation

27
推荐指数
3
解决办法
3万
查看次数

哪个是更好的选择:localStorage(),window.localStorage()或document.localStorage()?

问题就是这一切.我意识到所有选项可以在最新的浏览器中运行,但是什么是语义上最好的选择,为什么?

javascript local-storage

21
推荐指数
1
解决办法
8382
查看次数

使用通用编码检测器(chardet)在Python中的文本文件中进行字符检测

我试图在Python中使用通用编码检测器(chardet)来检测文本文件('infile')中最可能的字符编码,并在进一步处理中使用它.

虽然chardet主要用于检测网页的字符编码,但我找到了一个用于单个文本文件的示例.

但是,我无法弄清楚如何告诉脚本将最可能的字符编码设置为变量'charenc'(在整个脚本中多次使用).

我的代码基于上述示例和chardet自己的文档的组合,如下所示:

import chardet    
rawdata=open(infile,"r").read()
chardet.detect(rawdata)
Run Code Online (Sandbox Code Playgroud)

当脚本继续运行以下(以及几个类似的用途)时,字符检测是必要的:

inF=open(infile,"rb")
s=unicode(inF.read(),charenc)
inF.close()
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

python character-encoding

19
推荐指数
1
解决办法
3万
查看次数

如何在不增加宽度的情况下向textarea添加填充?

我一直无法设置textarea元素的宽度并通过CSS使用填充.填充值似乎改变了textarea的宽度,我宁愿不这样做.

这是我的HTML代码:

<div id="body">
    <textarea id="editor"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS代码:

#body {
    height:100%;
    width:100%;
    display:block;
}

#editor {
    height:100%;
    width:100%;
    display:block;
    padding-left:350px;
    padding-right:350px;
}
Run Code Online (Sandbox Code Playgroud)

但是,填充值似乎不像预期的那样工作.textarea的宽度在两个方向上增加350px,而不是在元素的边界和其内容之间定义空间.

我已经考虑通过将边距设置为"0px auto"来对textarea进行居中,但是如果鼠标悬停在其中一个空边距上,我希望用户仍能够滚动文本区域.出于同样的原因,我无法添加另一个div来充当包装器,因为用户无法沿着空白区域滚动,而只能沿着无边距的textarea滚动.

有人可以帮忙吗?

html css textarea padding

19
推荐指数
1
解决办法
4万
查看次数

使用JavaScript和JSON在Web应用程序中进行本地化

我正在尝试设置一个脚本来自动本地化Web应用程序.由于Web应用程序旨在使用HTML5的脱机缓存功能,因此它需要能够脱机工作.因此,JavaScript在我看来是最好的选择.

我更喜欢将所有本地化的所有字符串放在一个JSON文件中,如下所示:

{
    "en": {
        "application_description": "This is the application's description in English.",
        "application_name": "This is the application's name in English."
    },
    "ja": {
        "application_description": "This is the application's description in Japanese.",
        "application_name": "This is the application's name in Japanese."
    }
}
Run Code Online (Sandbox Code Playgroud)

我想的可能是将所有元素本地化为链接到预期消息的自定义属性(例如:i18n ="application_name").

我可以使用检索浏览器的语言navigator.language,但我认为有些结果必须分成第一部分(例如:"en-US""en-GB"和"en-AU"都应该引用"en") .

但是,我的JavaScript知识是基本的,虽然我已经考虑过了,但我无法确定如何实际实现它.

非常感谢能够提供任何提示或示例的任何人!

javascript json localization web-applications

17
推荐指数
2
解决办法
2万
查看次数

是否可以通过JavaScript在textarea中禁用拼写检查?

是否可以通过JavaScript在textarea中禁用拼写检查?

我一直在关注HTML5'spellcheck'属性,我可以让它独立工作.但是,我希望能够通过JavaScript更改此属性.

阅读上面链接提供的文档后,我将以下代码行放在一起(来自更大文件的片段;我知道它们不会自行运行):

document.querySelector("#editor").spellcheck = "false";
Run Code Online (Sandbox Code Playgroud)

document.querySelector("#editor").spellcheck = "true";
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.我犯了错误或误解了文档吗?(无用,Google Chrome中的JavaScript控制台没有返回错误.)或者还有其他方法可以执行此操作吗?

javascript html5 spell-checking

14
推荐指数
1
解决办法
8589
查看次数

正则表达式,使用JavaScript进行准确的字数统计

我正在尝试为JavaScript命令组合一个正则表达式,以准确计算textarea中的单词数.

我发现的一个解决方案如下:

document.querySelector("#wordcount").innerHTML = document.querySelector("#editor").value.split(/\b\w+\b/).length -1;
Run Code Online (Sandbox Code Playgroud)

但这不算任何非拉丁字符(例如:西里尔字母,韩文字母等); 它完全跳过它们.

我放在一起的另一个:

document.querySelector("#wordcount").innerHTML = document.querySelector("#editor").value.split(/\s+/g).length -1;
Run Code Online (Sandbox Code Playgroud)

但是,除非文档以空格字符结尾,否则这不会准确计算.如果空格字符附加到计数值,即使空文档也计算1个单词.此外,如果文档以空格字符开头,则计算无关的单词.

是否有正则表达式,我可以在此命令中准确计算单词,无论输入方法如何?

javascript regex word-count

14
推荐指数
2
解决办法
3万
查看次数

如何检查特定页面是否已在Google Chrome中打开?

基本上,我有一个打包的Web应用程序,如果Web应用程序的任何其他实例打开,我希望能够检查它,如果是的话,切换到打开的实例而不是创建另一个一.

此外,对于选项页面,我希望它能够检查应用程序是否已打开,如果是,则在选项页面已更改时刷新应用程序页面.

我一直在阅读有关chrome.tabs JavaScript模块的文档,但我无法弄清楚如何使函数查找特定的选项卡.我不太明白如何查找或设置特定选项卡的选项卡ID.我想这就是我想做的事情,但是如果我吵来了错误的树,请告诉我.

如果这里的任何人能够更好地为我解释,我会非常感激.

javascript tabs google-chrome web-applications

9
推荐指数
1
解决办法
3895
查看次数