是否可以对位于A房间和B房间的名称空间的所有用户进行socket.io广播,而不是那些只在A房间或B房间的用户?
如果没有,我将如何自己实施?有没有办法检索位于给定房间的命名空间中的所有用户?
我在节点中使用socket.io 1.0
编辑:如果没有本机方法,我将如何创建自己的语法,如:
socket.broadcast.in('room1').in('room2').emit(...)?
我正在使用Mono将C#编译为Wasm,以便在浏览器中使用它。运行以下命令会生成一堆DLL,一个wasm文件和一些JS文件。
csc /target:library -out:regex101.dll \
/noconfig /nostdlib \
\
/r:$WASM_SDK/wasm-bcl/wasm/mscorlib.dll \
/r:$WASM_SDK/wasm-bcl/wasm/System.dll \
/r:$WASM_SDK/wasm-bcl/wasm/Facades/netstandard.dll \
/r:$WASM_SDK/framework/WebAssembly.Bindings.dll \
\
regex101.cs
mono $WASM_SDK/packager.exe \
--copy=always --out=./publish \
regex101.dll
Run Code Online (Sandbox Code Playgroud)
如果将这些生成的js文件包含在网页中,则可以在浏览器中运行已转换的代码。但是,最终的大小(大约23个dlls + JS + Wasm)总共约为15mb,这非常大,我相信这是因为没有运行消除死代码的情况,并且包含了框架的很大一部分。
建议我运行一个链接器(请参阅https://github.com/firasdib/Regex101/issues/156#issuecomment-497281517)以执行无效代码消除,但是作为我的.NET新手,我不知道。不知道该怎么做。
任何帮助将非常感激。
我试图模仿textarea的插入符号,目的是创建一个非常轻量级的丰富文本区域.我不想使用像codemirror或任何其他大型库那样的东西,因为我不会使用它们的任何功能.
我有一个<pre>位于具有透明背景的textarea后面,所以我可以模拟文本中的突出显示效果.但是,我也希望能够更改字体颜色(因此它并不总是相同).所以我尝试color: transparent了textarea,它允许我以任何我想要的方式设置文本样式,因为它只出现在<pre>textarea后面的元素上,但插入符号消失了.
我已经让它工作得相当好,虽然它并不完美.主要的问题是当你按下一个键并且垃圾邮件那个角色时,插入符似乎总是落后于一个角色.不仅如此,它似乎相当资源丰富..
如果您在代码中看到需要改进的任何其他内容,请随时对此进行评论!
这是代码的小提琴:http://jsfiddle.net/2t5pu/25/
对于那些因任何原因不想访问jsfiddle的人来说,这里是完整的代码:
CSS:
textarea, #fake_area {
position: absolute;
margin: 0;
padding: 0;
height: 400px;
width: 600px;
font-size: 16px;
font: 16px "Courier New", Courier, monospace;
white-space: pre;
top: 0;
left: 0;
resize: none;
outline: 0;
border: 1px solid orange;
overflow: hidden;
word-break: break-word;
padding: 5px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
#fake_area {
/* hide */
opacity: 0;
}
#caret {
width: 1px;
height: …Run Code Online (Sandbox Code Playgroud) 当我在可编辑的 div 中按 Enter 键时,我试图插入一个换行符,而不是浏览器想要插入的任何内容。
我当前的代码如下所示:
if (e.which === 13) {
e.stopPropagation();
e.preventDefault();
var selection = window.getSelection(),
range = selection.getRangeAt(0),
newline = document.createTextNode('\n');
range.deleteContents();
range.insertNode(newline);
range.setStartAfter(newline);
range.setEndAfter(newline);
range.collapse(false);
selection.removeAllRanges();
selection.addRange(range);
}
Run Code Online (Sandbox Code Playgroud)
这似乎在 Chrome、Firefox 和 Safari 中有效,但在 Internet Explorer 中失败。
我的要求是它适用于最新版本的 Chrome/FF 和类似版本(几个版本也不错)和 IE10+。
我尝试了很多不同的东西,但似乎无法让它发挥作用。
任何帮助深表感谢!
编辑:为了澄清,我在 IE 中的错误是插入换行符时插入符不会移动,而是换行符似乎是在插入符之后添加的,这是奇怪的行为。但是,如果我按 Enter 一,然后使用箭头键向下移动到该行,然后再次开始按 Enter,它就会按预期工作。不能告诉我在这里做错了什么。
我想允许用户在我的网站上选择主题,他们将通过下拉菜单来做.我目前无法弄清楚如何支持这个功能,但没有编写愚蠢的代码.
我目前使用css-modules和postcss来让我的生活更轻松.Webpack用于将所有内容捆绑在一起.我在开发过程中使用热重新加载,在此期间我使用样式加载器.
完整配置如下所示
{
test: /\.css$/,
loader: !isDev
? ExtractTextPlugin.extract('style-loader', 'css-loader?sourcemap&minimize&modules&importLoaders=1&localIdentName=[name]-[local]-[hash:base64:5]!postcss-loader')
: 'style-loader!css-loader?sourcemap&minimize&modules&importLoaders=1&localIdentName=[name]-[local]-[hash:base64:5]!postcss-loader'
},
Run Code Online (Sandbox Code Playgroud)
在body标记上放置一个classname以确定加载了哪个主题.然后,这用于从每个组件css内部选择正确的主题.这是非常乏味的,我想避免的,但它看起来像这样:
.myComponent {
margin: 10px;
width: 100px;
}
:global(.theme1) {
.myComponent {
background: $theme1_myComponent_background;
}
}
:global(.theme2) {
.myComponent {
background: $theme2_myComponent_background;
}
}
Run Code Online (Sandbox Code Playgroud)
这很快就会变成难以扩展和不可维护的东西,这就是为什么我要避免它.
为css生成预定义的静态包.当用户请求/main.css时,服务器上的处理程序确定要发送的主题(也许查询字符串),并将它们发送theme1-main.css或theme2-main.css或类似的规定.问题是我不知道如何支持开发环境.
关于这一点的好处是我的css文件不需要任何额外的和难以维护的逻辑:
.myComponent {
margin: 10px;
width: 100px;
background: $myComponent_background;
}
Run Code Online (Sandbox Code Playgroud)
使用本机css变量.然后可以在运行时更新这些内容,这将反映已经加载的css并在生产和开发环境中正常工作.我的组件也看起来像(或类似)解决方案2.这里的问题是它们本身并没有得到广泛支持,我不确定是否有任何值得研究的polyfill会为我做这类事情.
总而言之,这些是我的想法.我还没有得出任何明确的结论,并希望得到关于如何解决这个问题的所有反馈.也许我正在考虑这一切都错了,并且有更好的方法来做我想做的事情.
提前致谢!
我有一个问题,这限制了我很多。我们正在尝试通过对时间进行分组来对我们的数据进行采样。我们有数百万个点,并希望在给定的间隔内获取每第 N 个点。我们已经实施了一个解决方案,该解决方案计算此间隔中的时间差,然后根据它进行分组以接收正确的点数。
SELECT last(value) as value FROM measurement WHERE time >= '...' AND time <= '...' GROUP BY time(calculated_time) fill(none)
返回的点数似乎是正确的,但日期不正确。
查看以下结果:
无采样
> SELECT value FROM "measurement" WHERE time >= '2016-01-01T00:00:00Z' AND time <= '2017-01-01T00:00:00Z' LIMIT 5;
name: measurement
time value
---- -----
2016-01-01T00:00:00Z 61.111
2016-01-01T01:00:00Z 183.673
2016-01-01T02:00:00Z 200
2016-01-01T03:00:00Z 66.667
2016-01-01T04:00:00Z 97.959
Run Code Online (Sandbox Code Playgroud)
带采样
> SELECT last(value) as value FROM "measurement" WHERE time >= '2016-01-01T00:00:00Z' AND time <= '2017-01-01T00:00:00Z' GROUP BY time(23m) fill(none) LIMIT 5;
name: measurement
time …Run Code Online (Sandbox Code Playgroud) 我们在反应事件方面遇到了一个特定问题,这与不同设备和浏览器上可用的不同事件类型有关。目前,我们必须在每个组件上附加多个事件来填补空白,例如onMouseMove、onTouchMove等。
新的 PointerEvents 应该可以解决这个问题,但它们在旧版浏览器中不可用,这意味着我们无法使用它们。
是否有可能以某种方式创建我们自己的事件类型,我们将其附加到我们的反应组件,该组件在后台处理这个逻辑?
<Element onCustomEvent={...} />
谢谢!
我试图根据括号的级别以及它们是否匹配来突出显示括号。所以第一级得到下面的类paren_1,第二级得到paren_2,依此类推。我还想突出显示插入符号旁边的一组括号(如果有的话)。这意味着如果括号旁边有插入符号(左括号或右括号),它应该突出显示该括号及其对应的括号。我的(损坏的)实现如小提琴所示。
这效果相当好。问题如下
jQuery('<div />').text(text).html(),这有效,但破坏了插入符位置。JSFiddle: http: //jsfiddle.net/yWzWV/1/
请大家注意:我对 javascript 或 jquery 都不太擅长,所以如果这段代码让你眼睛流血,请原谅我。
提前致谢!
我试图限制允许函数在python(flask)中运行的时间.它看起来像这样:
def my_function:
try:
long_function_time()
catch TimeOutException:
return "Function took too long to execute"
def long_function_time:
#stuff here
Run Code Online (Sandbox Code Playgroud)
我最初尝试使用信号,但被告知这不是一个好方法,因为烧瓶在线程环境中运行.我希望最大执行时间灵活,以便我可以轻松地更改它.
我目前使用的代码(有时不起作用,不知道为什么):
class TimedOutExc(Exception):
pass
def deadline(timeout, *args):
def decorate(f):
def handler(signum, frame):
signal.alarm(0)
raise TimedOutExc()
def new_f(*args):
signal.signal(signal.SIGALRM, handler)
signal.alarm(timeout)
return f(*args)
new_f.__name__ = f.__name__
return new_f
return decorate
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我有一个用python编写的简单函数,我想将其移植到javascript.
我已经将python 2.7编译成.so库,所以这不是问题.
我遇到的问题是,在用cython编译我的程序后,函数名称变得全乱,这意味着我不知道如何在运行emcc时保留这些函数.
有没有人有任何使用emscripten编译python程序到js的经验?
任何信息,将不胜感激.
注意:我想保留python的确切功能,我不想要将python程序转换为javascript的东西.
我正在尝试使用DOM元素创建自己的文本选择.是的,我的意思是当您在此元素中选择它时,您在文本后面看到的蓝色背景.我们的想法是暂停默认行为(蓝色)并使用我自己的元素来完成工作,方法是找到选择的xy位置,然后放置绝对定位元素.我希望能够定期做到这一点div.
我想我需要3个元素.一个用于顶行(可能是不完整的),一个用于中间块,一个用于最后一个(与顶部相同).这是一张可以帮助您理解的图片:

我一直在考虑捕捉mouseup/down然后mousemove再检查,window.getSelection()但到目前为止,我无法到达任何地方.
使用CSS ::selection将无法工作,因为该元素将没有焦点.
我感谢所有帮助!提前致谢.
编辑:偶然发现https://code.google.com/p/rangy/可能会有所帮助?有这个插件经验的人吗?
Edit2:需要跨浏览器支持.
javascript ×7
css ×2
html ×2
jquery ×2
python ×2
reactjs ×2
.net ×1
c# ×1
caret ×1
cython ×1
database ×1
emscripten ×1
events ×1
flask ×1
influxdb ×1
mono ×1
node.js ×1
parentheses ×1
postcss ×1
richtextbox ×1
sample ×1
socket.io ×1
sockets ×1
textarea ×1
themes ×1
time-series ×1
webassembly ×1
webpack ×1