小编Mar*_*lli的帖子

如何检查css规则是否存在

我需要检查是否存在CSS规则,因为如果不包含CSS文件,我想发出一些警告.

这样做的最佳方式是什么?

我可以过滤window.document.styleSheets.cssRules,但我不确定这是什么跨浏览器(加上我在Stack Overflow上注意到该对象为null styleSheet[0]).

我还想将依赖性保持在最低限度.

有一种直截了当的方法吗?我只需创建匹配元素并测试效果吗?

编辑:如果没有,检查的跨浏览器问题是window.document.styleSheets什么?

javascript css dom cross-browser

12
推荐指数
2
解决办法
5298
查看次数

在Twitter上共享时URL中的阿拉伯字符

我正试图在Twitter上分享包含阿拉伯字符的URL:

http://example.com/????-??????-???????-???-?????-???????/
Run Code Online (Sandbox Code Playgroud)

当我点击"分享"时,推文框中会显示相同的网址,但是当我实际发推文时,它只会链接到http://example.com,而其余​​的网址则会丢失.

我尝试过使用urlencode(),但生成的网址太长且无法发送推文.我该怎么解决这个问题?

php twitter urlencode utf-8 arabic

12
推荐指数
1
解决办法
858
查看次数

SVG堆叠会导致失真

我正在尝试使用SVG堆叠技术来将多个图标堆叠在一个文件中,只需要一个来自浏览器的HTTP请求.是相当彻底描述的技术在这里.

基本上,您的想法是将多个SVG元素放入单个SVG文件中,并使用CSS样式隐藏所有图标,但您当前要显示的图标除外.您可以使用CSS :target选择器选择当前要显示的图标.

该技术适用于我,除非堆叠多个图标会在显示的图标中引起奇怪的扭曲,即使所有其他图标都被隐藏.

在我正在使用的示例中,我将其简化为仅堆叠两个图标:美国国旗图标和英国国旗图标.

(简化的)SVG文件是:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<svg id="svg153" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="480" width="640" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">

    <svg:style 
        xmlns:svg="http://www.w3.org/2000/svg" type="text/css">
        .i { display: none; }
        .i:target { display: block; }
    </svg:style>

    <svg:svg id="uk" xmlns:svg="http://www.w3.org/2000/svg" class = "i" height="480" width="640" version="1.1">
       <!-- SVG elements to draw UK flag -->
    </svg:svg>

    <svg:svg id="us" xmlns:svg="http://www.w3.org/2000/svg" class = "i" height="480" width="640" version="1.1">
       <!-- SVG elements to draw US flag --> 
    </svg:svg>
</svg>
Run Code Online (Sandbox Code Playgroud)

请注意,CSS嵌入在<svg::style>元素中的SVG文件中.CSS很简单: …

html css svg

11
推荐指数
1
解决办法
700
查看次数

当元素被启用/禁用时触发功能

这似乎是一个相对简单的事情,但我找不到任何关于如何做的事情.我有一个模态,在等待异步数据时打开一个禁用的输入.我想知道什么时候输入启用,我可以集中输入.这就是我想要完成的.将其视为全局模态打开处理程序:

$('.modal').on('shown.bs.modal', function (event) {
    var textInput = $(event.target).find('input[type=text]:visible').first();
    if (textInput.is(':disabled'))
    {
        textInput.on('<<<<<enabled>>>>>', function(){
            textInput.off('<<<<<enabled>>>>>');
            textInput.focus();
        });
    }
    else
    {
        textInput.focus();
    }
});
Run Code Online (Sandbox Code Playgroud)

输入启用/禁用时是否没有触发事件?

<input type="text" class="form-control txtUserSearch" data-bind="value: userFilter, event: { keyup: FilterUsers }, enable: AvailableUsers().length > 0">
Run Code Online (Sandbox Code Playgroud)

如果在异步请求中返回了用户,则会启用该功能.

html javascript jquery twitter-bootstrap knockout.js

11
推荐指数
1
解决办法
3953
查看次数

使用FormData发送XMLHttpRequest

我正在尝试使用JavaScript制作XHR,但我无法让它正常工作.

当我在Chrome开发者工具的"网络"标签中看到正确的请求时,我看到他们有一个"表单数据"部分,其中列出了随请求一起发送的所有信息,如下所示:

FORMDATA

现在,我已经尝试XMLHttpRequest以我知道的任何方式制作我,但我无法得到那个结果.

我试过这个:

var xhr = new XMLHttpRequest(),
    form_data = "data%5Btumblelog%5D=drunknight&data%5Bsource%5D=FOLLOW_SOURCE_REBLOG";
    // this is uri encoded: %5b = [ and %5D = ]

xhr.open('POST','https://www.somesite.com/page?' + form_data, false);
xhr.send();
Run Code Online (Sandbox Code Playgroud)

我得到了这个"查询字符串参数"而不是"表单数据":

querystringparameters

我也试过这个:

var xhr = new XMLHttpRequest(),
    formData = new FormData();

formData.append("data[tumblelog]", "drunknight");
formData.append("data[source]", "FOLLOW_SOURCE_REBLOG");
xhr.open('POST','https://www.somesite.com/page', false);
xhr.send(formData);
Run Code Online (Sandbox Code Playgroud)

我得到了"请求有效负载"而不是"表单数据":

有效载荷

最后,我试过这个:

var xhr = new XMLHttpRequest(),
    formData = {
        "data[tumblelog]": "drunknight",
        "data[source]": "FOLLOW_SOURCE_REBLOG"
    };

xhr.open('POST','https://www.somesite.com/page', false);
xhr.send(JSON.stringify(formData));
Run Code Online (Sandbox Code Playgroud)

我得到另一个"请求有效负载"而不是"表单数据":

payload2


现在,我的问题是:

如何发送我XMLHttpRequest的信息以获得与FIRST图像中显示的相同的结果?

javascript ajax xmlhttprequest form-data

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

Python使用input()逐行迭代stdin

我试图从控制台获取由换行符分隔的多个名称,并将它们放入变量中.让我们假设我想永远从终端获得输入(我将添加一些代码以便稍后打破循环).我知道如何使用while循环和递归来完成它,但我希望能够使用for循环来完成它.

在下面的例子中,当我"peter"从终端获得输入时,我得到的每个字母而不是一行一行:

for name in input():
    print(name)
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用sys.stdinname变量变成"peter\n":

for name in sys.stdin:
    print(name)
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以input()提供"name"整行而不是单个字符?或者仅仅通过使用的本质for in我将迭代输入中的字符?以这种方式获取输入是否存在任何固有的风险/问题?在这样的情况下,是否有"标准"的输入方式?

我在Ubuntu 15.10上使用Python 3.5.1.

python python-3.5

10
推荐指数
1
解决办法
6310
查看次数

带指数的浮点文字的类型

具有指数部分的浮点文字的类型是什么,例如123456e-3在 C(99+) 中?它是类型float还是double?当用作float初始化器时float f = 123456e-3; ,它需要有f后缀吗?

c floating-point

10
推荐指数
3
解决办法
235
查看次数

是stdio.ha库吗?

C编程语言调用stdio.h一个库。但是,有人告诉我,这是一个仅适用于编译器的头文件,这是事实,因此它不是库。

Internet上的其他编程站点将其称为库。的定义现在是否有所不同?

有些C程序以#include <stdio.h>C语言开头,因为C语言不包含文件操作功能。

使用Brian Kernighan和Dennis Ritchie的The C Programming Language(第二版,第3页,引言)进行更新:

该标准的第二个重要贡献[指的是1988年完成的“ ANSI标准或” ANSI C“]是伴随C库的定义。它指定了访问操作系统的功能(例如,读取和写入)文件),格式化的输入和输出,内存分配,字符串操作等。使用此库与主机系统进行交互的程序可确保兼容行为。大多数库都是基于“标准I UNIX系统的“ / O库”。该库在第一版中进行了介绍...

图书馆的定义已经发展/改变/更新似乎是合乎逻辑的结论。

c libraries

9
推荐指数
2
解决办法
238
查看次数

防止进程在 Linux 上打开新的文件描述符,但允许通过套接字接收文件描述符

我目前正在开发一个项目,在该项目中,我有一个父进程可以设置 socketpair、fork,然后使用这个 socketpair 进行通信。孩子,如果它想打开一个文件(或任何其他基于文件描述符的资源)应该总是去父,请求资源并fd通过套接字对发送。此外,我想防止孩子自己打开任何文件描述符。

我偶然发现setrlimit它成功地阻止了孩子打开新的文件描述符,但它似乎也使通过初始套接字连接发送的任何文件描述符无效。Linux 上是否有任何方法允许单个进程打开任何文件,将其文件描述符发送给其他进程并让它们使用它们,而不允许这些其他进程自己打开任何文件描述符?

对于我的用例,可以是任何内核配置、系统调用等,只要它可以在 fork 之后应用并且只要它适用于所有文件描述符(不仅是文件,还包括套接字、套接字对等)。

c linux system-calls

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

Postgres 内部如何计算月份间隔?

在 PostgreSQL 中,“1 个月”的间隔有时算作 30 天,有时算作 31 天。确定这一点的标准是什么?

我运行了以下查询来证明我的困惑。

select 
  now() - interval '1 month'
, now() - interval '30 days'
, interval '30 days' = interval '1 month'
, interval '31 days' = interval '1 month'
Run Code Online (Sandbox Code Playgroud)

查询返回:

2022-03-27 21:09:30.933434+00 | 2022-03-28 21:09:30.933434+00 | true | false

我希望查询返回 3 月 28 日的两天,因为一个月的间隔等于 30 天的间隔。

postgresql

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