小编Phe*_*ide的帖子

无法设置null的属性'innerHTML'

为什么我会收到错误或Uncaught TypeError:无法设置null的属性'innerHTML'?我以为我理解innerHTML并且之前有过工作.

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>

<script type ="text/javascript">
    what();
    function what(){
        document.getElementById('hello').innerHTML = 'hi';
    };
</script>

</head>

<body>
<div id="hello"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript innerhtml onload

69
推荐指数
8
解决办法
26万
查看次数

NodeJS将二进制缓冲区写入文件

我无法重写我从二进制缓冲区获取的文件,我已检查过原始文件并且所有字节都相同.

这是从NodeJS创建的文件:

# hd test.txt  | head
00000000  47 49 46 38 39 61 32 00  32 00 f7 00 00 96 8c 73  |GIF89a2.2.?....s|
00000010  66 5e 45 c6 bb 9f 7b 72  5a 47 47 47 8a 81 65 ca  |f^E?.{rZGGG..e?|
00000020  c1 a6 c9 c1 ac ee ea dd  c8 c5 bc 8c 87 7a d3 c9  |??????????..z??|
00000030  ab 43 3b 26 eb e5 d1 fa  fa fa e5 e4 e2 a6 9d 83  |?C;&??????????..|
00000040 …
Run Code Online (Sandbox Code Playgroud)

binary streamwriter node.js

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

在Javascript中将整数MAC地址转换为字符串

我有一个MAC地址存储为原始的48位数字,我想将其拆分并以xx:xx:xx:xx:xx:xx的标准十六进制格式打印.例如,原始编号81952921372024应为78:45:c4:26:89:4a.我的第一次尝试是,

var suspect = {mac: 2333752735057272};
console.log(
    Number(suspect.mac & 0xFF).toString(16) + ":" +
    Number((suspect.mac & 0xFF00) >> 8).toString(16) + ":" +
    Number((suspect.mac & 0xFF0000) >> 16).toString(16) + ":" +
    Number((suspect.mac & 0xFF000000) >> 24).toString(16) + ":" +
    Number((suspect.mac & 0xFF00000000) >> 32).toString(16) + ":" +
    Number((suspect.mac & 0xFF0000000000) >> 48).toString(16));
Run Code Online (Sandbox Code Playgroud)

但是因为Javascript在进行移位操作时显然无法处理> 32位整数,所以最后两个八位字节总是出现0,

78:45:c4:26:0:0 
Run Code Online (Sandbox Code Playgroud)

javascript mac-address

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

Express Middleware为所有app.get()填充Jade变量

我有一个Jade文件,我的所有模板都扩展名为layout.jade.在其中我希望能够在用户当前登录时具有注销按钮(这在req.session中保持跟踪).

所以layout.jade会有类似的东西,

-if (loggedin)
  a.navButton(href="/logout") Log Out
Run Code Online (Sandbox Code Playgroud)

页面的路径看起来像,

app.get("/foo", function(req, res) {
    res.render("foo", {loggedin: req.session.isValidUser});
});
Run Code Online (Sandbox Code Playgroud)

问题是,我不想在每个路由中手动填充登录变量.有没有办法可以使用Express中间件自动为发送到res.render的对象设置一些默认选项?或者有更好的方法来做到这一点?

基本上我问我怎样才能将一些变量总是发送到模板,以及通过在路径中手动设置某些模板中某些自定义变量的功能.

javascript node.js express pug

7
推荐指数
2
解决办法
4478
查看次数

sqlite3_bind_text用于c ++字符串的SQLITE_STATIC与SQLITE_TRANSIENT

我有一个返回c ++ std :: string的方法,然后在将它传递给sqlite3_bind_text之前将其转换为c_str().我的问题是,这应该使用SQLITE_STATIC还是SQLITE_TRANSIENT?

sqlite3_bind_text(insertStatement, 0, suspect->GetIpString().c_str(), -1, SQLITE_STATIC);
// Do some stuff in same function then sqlite3_step
Run Code Online (Sandbox Code Playgroud)

sqlite3_bind_text的文档说,

sqlite3_bind_blob(),sqlite3_bind_text()和sqlite3_bind_text16()的第五个参数是一个析构函数,用于在SQLite完成后处理BLOB或字符串.即使对sqlite3_bind_blob(),sqlite3_bind_text()或sqlite3_bind_text16()的调用失败,也会调用析构函数来处置BLOB或字符串.如果第五个参数是特殊值SQLITE_STATIC,那么SQLite假定信息在静态的非托管空间中,并且不需要被释放.如果第五个参数的值为SQLITE_TRANSIENT,那么在sqlite3_bind _*()例程返回之前,SQLite会立即自己创建数据的私有副本.

GetIpString返回一个std :: string,但如果我没有明确地复制它,那么该字符串会在调用后继续存在吗?另外,在没有SQLITE_TRANSIANT的情况下使用.c_str()是否安全?我知道SQLITE_TRANSIENT是安全的选择,但如果不需要,我想避免复制/性能命中,因为这个查询将会运行很多.

c++ sqlite

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

PML4的缩写是什么?

在Xen代码./xen/include/asm-x86/config.h中,我看到内存布局代码是:

/*
137  * Meng: Xen-definitive guide: P81
138  * Memory layout:
139  *  0x0000000000000000 - 0x00007fffffffffff [128TB, 2^47 bytes, PML4:0-255]
140  *    Guest-defined use (see below for compatibility mode guests).
141  *  0x0000800000000000 - 0xffff7fffffffffff [16EB]
142  *    Inaccessible: current arch only supports 48-bit sign-extended VAs.
143  *  0xffff800000000000 - 0xffff803fffffffff [256GB, 2^38 bytes, PML4:256]
Run Code Online (Sandbox Code Playgroud)

我对PML4的简称非常困惑.我确实知道x86_64只使用64位中的48位.但PML4的缩写是什么?它可以帮助我理解它背后的数字.

谢谢!

linux xen paging

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

Bash是否有办法获得关于表达式评估的详细输出?

假设我想知道我的陈述是如何被轴括起来解释的bash,我该怎么做?

linux bash shell scripting

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

使使用 system() 生成的子进程在父进程收到终止信号并退出后继续运行

在 Linux/C++ 库中,我通过 system() 调用启动一个进程,

system("nohup processName > /dev/null&");
Run Code Online (Sandbox Code Playgroud)

对于一个自行退出的简单测试应用程序来说,这似乎工作得很好,但如果我从获得终止信号的 Nodejs/V8 扩展内部使用它,子进程就会被终止。我确实发现跑步,

system("sudo nohup processName > /dev/null&");
Run Code Online (Sandbox Code Playgroud)

将 sudoers 文件设置为不需要密码后,即使父进程(节点)退出,也可以使其运行。有没有办法完全分离子进程,以便发送到父进程的信号和父进程退出不再对子进程产生影响?最好是在 system() 调用中,而不是需要获取进程 ID 并用它做某事的东西。

c c++ linux process node.js

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

sqrt函数的伪代码

我设法让我的sqrt函数运行得很好,但我猜第二次猜测是否根据我给出的伪代码正确编写了这段代码.

这是伪代码:

x = 1
repeat 10 times:  x = (x + n / x) / 2
return x.
Run Code Online (Sandbox Code Playgroud)

我写的代码,

#include <iostream> 
#include <math.h> 
using namespace std; 

double my_sqrt_1(double n) 
{
double x= 1; x<10; ++x;
return (x+n/x)/2; 
} 
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

svn delete - 返回无写锁定错误(TortoiseSVN 1.7.6)

我正在尝试D:\SVN_HOME\EclipseWorkspace\MF_CENTER_INFO从svn中删除该文件夹.

右键单击文件夹=> TortoiseSVN =>删除=>是全部

这将返回错误:D:\ SVN_HOME\EclipseWorkspace中没有写锁定

tortoisesvn错误消息:D:\ SVN_HOME\EclipseWorkspace中没有写锁定

我怎样才能解决这个问题?

svn tortoisesvn

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

Java 2D图形矩形

我正在尝试创建一个允许我在画布中绘制图形数据结构的Java Applet.我将通过单击要创建节点的位置,然后单击节点来连接它们来完成此操作.问题是我无法让paint()方法正常运行.我在mousePressed(MouseEvent e)方法内部向图形(和画布上的方块)添加新节点,使用,

Graphics g = this.getGraphics();
g.setColor(Color.blue);
g.fillRect(e.getX(), e.gety(), 40, 40);
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我调整窗口大小,然后所有填充的矩形消失.我把paint方法简化为一个空方法,但同样的事情仍然发生.我无法在paint()中添加fillRect命令,因为在用户使用鼠标与其交互之前我不知道存在哪些矩形.

如何g.fillRect()在鼠标监听器内部使用并使它们粘在一起?

java resize canvas awt paint

0
推荐指数
2
解决办法
962
查看次数

CSS类和元素选择

有人可以解释之间的区别,

.class p {..}
Run Code Online (Sandbox Code Playgroud)

与,

p.class {...}
Run Code Online (Sandbox Code Playgroud)

它们是否都是使CSS适用于类.class和P标记的等效方法?还是有一些功能差异?

css

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