小编Sun*_*tva的帖子

服务器发送事件和浏览器限制

我有一个侦听Server Sent Events的Web应用程序.当我在打开多个窗口的时候工作和测试时,事情不起作用,我多次朝着错误的方向猛击头脑:最终,我意识到问题是并发连接.

但是我测试的数量非常有限,即使我在Apache上运行测试(我知道,我应该使用node).

然后,我切换浏览器并注意到一些非常有趣的东西:显然Chrome将Server Sent Events连接限制为4-5,而Opera则没有.另一方面,Firefox连同4-5个连接后,拒绝加载任何其他页面.

这背后的原因是什么?限制仅适用于来自同一来源的SSE连接,或者如果我要测试从其他域打开它们,它是否会相同?我是否有可能滥用SSE,这实际上阻止了浏览器,或者这是一种已知的行为?它有什么办法吗?

javascript opera google-chrome cross-browser server-sent-events

23
推荐指数
3
解决办法
8929
查看次数

在LESS CSS中动态定义变量

我试图通过实际为它们分配一个复合名称来创建一个动态定义LESS CSS变量的mixin.

简化的用例(不是真实的):

.define(@var){
    @foo{var}: 0;
}
Run Code Online (Sandbox Code Playgroud)

那么就可以调用mixin:

.define('Bar'){
    @fooBar: 0;
}
Run Code Online (Sandbox Code Playgroud)

由于在使用选择器名称时可以进行这种字符串插值,我想知道变量名是否可行; 到目前为止,我对我尝试的各种语法没有运气(除了上面的内容,我尝试了转义,引用,使用~前缀等).

编辑

我只是尝试了一件事,我觉得我可能会很亲密; 但我遇到了LESS语法的奇怪之处.如果我写这个:

.define(@var){
    #namespace {
         @foo: @var;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

.define(0)
Run Code Online (Sandbox Code Playgroud)

然后我可以使用@foo通常的命名空间方式:

.test {
     #namespace;
     property: @foo; /* returns 0 */
}
Run Code Online (Sandbox Code Playgroud)

但是,在字符串插值选择器的情况下,同样的情况不适用:

.define(@var, @ns){
    #@{ns} {
         @foo: @var;
    }
}

.define(0, namespace);

.test {
     #namespace;
     property: @foo;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了以下错误:

名称错误:#namespace未定义

但是,字符串插值是成功且有效的.事实上,如果我拿走.test部件并修改上面输出测试属性,我可以看到CSS被正确解析.我的意思是:

.define(@var, @ns){
    #@{ns} {
         @foo: @var;
         prop: @foo;
    }
}

.define(0, namespace);
Run Code Online (Sandbox Code Playgroud)

输出以下CSS:

#namespace { …
Run Code Online (Sandbox Code Playgroud)

css interpolation mixins less

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

拆分git存储库以同时处理两个项目

我正在开发一个用于我的项目的框架 ; 然而,框架的开发到目前为止没有上下文:即我需要开始在现实项目中使用它,并具体看到我需要添加,修复或调整的东西(可能是在测试环境中工作的东西)适用于现实生活中的情况,或者某些事情没有意义,或者我想添加功能).

首先,由于Framework显然是一项正在进行中的工作,我需要确保它在Real-life项目中作为其中的不同部分保持更新,因此我可以回到Framework,编辑它,提交,返回到现实生活中的项目更新框架,继续与项目合作.

其次,我真的想要一种在不进行项目切换的情况下实现这一目标的方法.我的意思是我希望能够在Real-life项目中编辑Framework并将这些提交推送到Framework存储库.

现在,我知道这些工具来实现这一最有可能git submodulegit subtree,但他们两人都相当混乱.特别是子模块似乎更倾向于采用只读方法(例如,保持库始终更新):这将满足我的第一个要求,但不满足第二个要求.

有关如何使用Git实现此目的的任何指示以及工作流程的外观如何?

git git-submodules git-subtree

7
推荐指数
1
解决办法
1155
查看次数

获取jQuery将宽度设置为百分比而不是像素

在jsFiddle上设置了一个示例,jQuery当前将宽度设置为固定像素宽度.因此,当浏览器宽度减小时,条形图会从屏幕向右移动.我的问题是如何让jQuery将宽度设置为百分比?

<div class="bars">
    <div class="meter">
        <span style="width: 88%"></span>
    </div>
    <div class="meter">
        <span style="width: 62%"></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

$(".meter > span").each(function() {
    $(this)
        .data("origWidth", $(this).width())
        .width(0)
        .animate({
            width: $(this).data("origWidth")
        }, 3600);
});
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

6
推荐指数
1
解决办法
4587
查看次数

Wordpress wp_update_user 仅在刷新后更新

我的 Wordpress 安装中有一个自定义页面,除其他外,它允许用户从前端显示更改他们的电子邮件地址。

但是,当他们这样做时,电子邮件会在数据库中正确更改,但不会在页面上更新,直到再次刷新(有或没有$_POST)。这种行为真的很奇怪,我找不到原因。

这是代码有问题的部分:

if ( !empty( $_POST['user_email'] ) )
    wp_update_user( array ('ID' => $queried_user->id, 'user_email' => esc_attr( $_POST['user_email'] ) ) ) ;
Run Code Online (Sandbox Code Playgroud)

如果我执行var_dump($_POST)and var_dump($queried_user),我user_email会在$_POST变量中正确显示它,但是,相应地,在$queried_user变量中仍然是旧的。但是,通过 PHPMyAdmin 查看数据库,我可以看到数据已经更新。再次刷新浏览器页面后,一切都显示正确。

任何指针?

php mysql wordpress

5
推荐指数
1
解决办法
5565
查看次数

高度的儿童元素:100%被兄弟姐妹推

我有一个非常简单的结构:

<div class="parent">
    <h1>Element taking space</h1>
    <div class="stretch">
        Not much content, but needs to be stretched to the end.
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

父母div有一个固定的高度,我想div.stretch一直延伸到那个高度,而不管它的内容很少。使用height: 100%这个技巧就可以了,直到添加了其他将内容压低的元素。

我猜想指定height: 100%意味着该元素应该具有与父元素完全相同的绝对/计算高度,而不是在计算完所有其他元素之后的其余高度

设置overflow: hidden显然隐藏了溢出的内容,但这不是我的选择。

有什么办法可以用纯CSS实现呢?

Demo of my problem

css height stretching

5
推荐指数
2
解决办法
3025
查看次数

徘徊在圆角元素上

假设有一个div,并且我绕过它的角落,所以它变成了一个圆圈.现在,我想将:hover伪元素应用于它.但是我有其他元素围绕它,而这反过来又产生了:hover效果.如果鼠标在圆圈内有效,我只希望激活圆圈的悬停效果.

为了说明这个问题:

在应用border-radius后划分为圆

广场是我的div,圆圈是它的角落.假装黑色区域位于其他元素的前面,:hover我也希望能够使用它们的效果.如果我将悬停伪元素应用于圆圈,当鼠标位于黑色区域时,圆圈的悬停效果将被激活,而不是div后面的元素之一...

如何(如果可以的话)解决这个问题?

html css hover rounded-corners

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

webfonts的不同字体格式

我试图理解为什么Font Awesome带有各种字体格式,并且想知道如果我只需要保留一两个就不会有害.

我想找出缩小规模所不需要的东西.我还没有遇到解释这个问题的文档.

在此输入图像描述

@font-face {
  font-family: 'FontAwesome';
  src: url('../font/fontawesome-webfont.eot?v=3.2.1');
  src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
  font-weight: normal;
  font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

css fonts

2
推荐指数
1
解决办法
292
查看次数

React 传递钩子会导致重新渲染并失去对输入的关注

我有一个父组件,我在其中初始化了一些状态,然后我将其传递给子组件,以便他们可以更新它。然而,当更新被触发时,组件树被重新渲染并且我的输入失去焦点。添加一个key没有帮助。

// App.tsx

export function App(props) {
  const useVal = useState("");

  return (
    <Router>
      <Switch>
        <Route
          exact
          path="/"
          component={() => (
            <StartScreen
              useVal={useVal}
            />
          )}
        />
        // ...
    </Router>
  );
}
Run Code Online (Sandbox Code Playgroud)
// StartScreen.tsx

interface StartScreenProps {
  useVal: [string, React.Dispatch<React.SetStateAction<string>>];
}

function bindState<T>(
  [value, setState]: [T, React.Dispatch<React.SetStateAction<T>>]
) {
  return {
    value,
    onChange: ({ value }: { value: T }) => setState(value)
  }
}

export const StartScreen = (props: StartScreenProps) => {
  return (
    <form>
      <InputField
        key="myInput"
        {...bindState(props.useVal)}
      /> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

2
推荐指数
1
解决办法
215
查看次数

嵌套混合在LESS行为中

在LESS中是否可以将mixin嵌套在另一个中,以便只有当元素是后者mixin的元素的子元素时才调用前者?

我知道,令人困惑,这是一个简单的例子(不是工作代码,只是概念):

.foo(@x) {
    width: @x;

    .foo(@y) {
        width: @y/@x;
    }
}

.a {
    .foo(20px);

    .b { 
        .foo(2);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出CSS

.a {
    width: 20px;
}

.a .b {
    width: 10px;
}
Run Code Online (Sandbox Code Playgroud)

当我这样做,要求.foo(2).b给编译成width: 2.

这应该是这样的设计,还是我在语法上出错了?另外,我是从一个完全错误的角度来解决这个问题,也许有一个更简单的解决方案,我没有考虑?

编辑

好吧,显然这是用最新版本的LESS修复的,但我想要实现的,比我上面给出的最小例子稍微复杂一些.

基本上我想要发生的是,每个.foo使用.foomixin 的另一个元素的子元素都会将其父变量用于计算,因此,理想情况下

.foo(@x) {
    width: @x;

    .foo(@y) {
        width: (@x/@y);
    }
}

.a {
    .foo(100px);

    .b { 
        .foo(2px);

        .c {
            .foo(5px);
            /* ...and so on */
        }
    } …
Run Code Online (Sandbox Code Playgroud)

css inheritance mixins concept less

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

Ember.js破坏记录时出错

我试图破坏一个记录,我得到这个错误

An adapter cannot assign a new id to a record that already has an id.
[…] had id: 25 and you tried to update it with null. This likely happened because
your server returned data in response to a find or update that had a different
id than the one you sent.
Run Code Online (Sandbox Code Playgroud)

我的REST API返回一个200带有空对象响应的状态代码{}.我认为这就是问题所在,所以我一直在尝试自定义几个序列化程序挂钩(normalizeDeleteRecordResponse,extractDeleteRecord甚至只是normalizeResponse),但实际上并没有调用它们.

看看我的堆栈跟踪,错误似乎在didSaveRecord钩子中,我假设它正在接收空的JSON有效负载并将其传递给updateId.

ember.js ember-data

0
推荐指数
1
解决办法
167
查看次数