如何为Electron应用程序设置应用程序图标?
我正在尝试,BrowserWindow({icon:'path/to/image.png'});
但它不起作用.
我是否需要打包应用才能看到效果?
我在本地计算机上有一个数据库,我想将数据导入到我的主机上的数据库.这两个数据库的是相同的,相同的table names
,column names
等等.
当我export
从我的本地数据库通过表phpmyadmin
和import
它通过phpmyadmin在我的主机上弹出一个错误弹出告诉我有重复的条目,primary key
并停止整个操作.
如何通过phpmyadmin导入数据,跳过重复的条目,并在流程结束时显示重复项的列表?
我可以做的解决方案是在托管中调用db中主键的所有值,并在导入之前过滤重复项.但我想知道phpmyadmin是否有快速解决方案?
我不想drag+drop
在我的应用程序中使用某个功能,因为不需要它.所以我想完全删除drag+drop
窗口的功能.到目前为止拖动图像时,Electron窗口打开图像路径.拖动链接时,Electron窗口会重定向到链接.
我试过这个叫:
document.addEventListener('dragstart',function(event){
event.preventDefault();
return false;
},true);
document.addEventListener('drop',function(event){
event.preventDefault();
return false;
},true);
Run Code Online (Sandbox Code Playgroud)
event.preventDefault()
就drop event
应该有工作,但事实并非如此
还试过这个:
BrowserWindow.on('will-navigate',function(event){
event.preventDefault();
return false;
});
BrowserWindow.webContents.on('will-navigate',function(event){
event.preventDefault();
return false;
});
Run Code Online (Sandbox Code Playgroud)
也失败了.任何想法如何解决这一问题?
var listener = function (event) {
console.log('foo');
};
document.removeEventListener('drop',listener,false);
Run Code Online (Sandbox Code Playgroud) 我最近注意到chrome将数据属性转换data-*
为小写.
例如
<div data-Me="awesome"></div>
将<div data-me="awesome"></div>
在Chrome Dev Tools中转换为.
当我用javascript调用属性时:
console.log(e.hasAttribute('data-Me'),e.hasAttribute('data-me'));
两者都归实为真.
那么命名数据属性的标准方法是什么?
我们有动态页面由Firebase云功能提供服务,但在TTFB
TTFB的这些页面上速度非常慢900ms - 2s
,起初我们只是认为这是一个cold start
问题,但即使流量一致,它在TTFB的速度也非常慢700ms - 1.2s
.
这对我们的项目来说有点问题,因为它依赖于自然流量,而Google Pagespeed需要服务器响应小于200ms
.
无论如何,我们试图检查可能导致问题的原因,我们用Firestore查明了它,当Cloud Function访问Firestore时,我们注意到有一些延迟.这是我们如何实现Cloud Function和Firestore的基本示例代码:
dynamicPages.get('/ph/test/:id', (req, res) => {
var globalStartTime = Date.now();
var period = [];
db.collection("CollectionTest")
.get()
.then((querySnapshot) => {
period.push(Date.now() - globalStartTime);
console.log('1', period);
return db.collection("CollectionTest")
.get();
})
.then((querySnapshot) => {
period.push(Date.now() - globalStartTime);
console.log('2', period);
res.status(200)
.send('Period: ' + JSON.stringify(period));
return true;
})
.catch((error) => {
console.log(error);
res.end();
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
这是在Firebase + …
node.js firebase google-cloud-functions google-cloud-firestore
可能重复:
PHP密码的安全散列和盐
我在stackoverflow和其他网站上阅读了很多关于网络安全的帖子.比如加盐加密等等.我有点不明白,所以一个简单的解释会非常有用.
所以这就是我到目前为止所知道的.用户登录他的用户名和密码.输入然后经历一个过程.可以说用户名和密码组合起来就像例如:
$username = (USERS USERNAME INPUT);
$password = (USERS PASSWORD INPUT);
$userinput = $username . $password;
Run Code Online (Sandbox Code Playgroud)
然后我们添加一些盐.
$salt1 = "13$13aVc!kd";
$salt2 = "4kr$!vlmeoc";
$salted = $salt1 . $userinput . $salt2;
Run Code Online (Sandbox Code Playgroud)
然后我们加密它.
$encrypted = encrypt($salted);
Run Code Online (Sandbox Code Playgroud)
然后检查数据库以及其正确的用户是否登录.
这是怎么回事?但是我读到了关于蛮力攻击的内容.它猜对了输入值吗?用上面的程序.是不是表明攻击者只需要获取$ userinput信息就可以进入?他不需要猜测长$加密字符串是否正确?
注意:让我们说在这种情况下没有验证码,没有尝试次数限制,没有锁定,除了上面的那个之外别无其他.
注意:要温柔,我还在学习.
我正在尝试构建一个node-webkit应用程序,目前我正在尝试 package.json
这是目前的内容:
{
"name": "nw-demo",
"main": "index.html",
"window": {
"title": "node-webkit demo",
"icon": "icon.png",
"toolbar": false,
"frame": true,
"fullscreen": true
}
}
Run Code Online (Sandbox Code Playgroud)
如何在全屏上加载node-webkit应用程序?
文件说:
(boolean) whether window is fullscreen (available after node-webkit v0.3.0)
那么为什么上面的package.json
工作没有呢?
在使用Uploadcare文件上传小部件时,我注意到Uploadcare脚本不断重新绘制HTML
标签.
我不知道是否重新油漆是正确的术语,但这里是正在发生的事情:检查镀铬 devtools
的HTML
标签被突出显示,当您添加相同的行为/元素上删除属性.它似乎没有结束,它只是在每N ms继续.您可以在他们的主页Uploadcare.com上自行查看,只需打开devtools
并查看HTML
标签即可.
任何人都知道它为什么这样做?这叫什么?它会给移动用户带来性能问题吗?
我用密码工作的一个项目,我需要就如何一起工作一点帮助openssl_encrypt
和openssl_decrypt
,我只是想知道这样做的最基本,最正确的方法.这是我到目前为止所得到的:
// To encrypt a string
$dataToEncrypt = 'Hello World';
$cypherMethod = 'AES-256-CBC';
$key = random_bytes(32);
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cypherMethod));
$encryptedData = openssl_encrypt($dataToEncrypt, $cypherMethod, $key, $options=0, $iv);
Run Code Online (Sandbox Code Playgroud)
我然后存储$cypherMethod
,$key
并$iv
在解密时使用$encryptedData
.(我们不详细说明如何存储值,谢谢!)
// To decrypt an encrypted string
$decryptedData = openssl_decrypt($encryptedData, $cypherMethod, $key, $options=0, $iv);
Run Code Online (Sandbox Code Playgroud)
首先,上面的示例代码是一个如何使用的正确示例php openssl_encrypt
?
第二,我的方法是生成$key
和$iv
正确和安全吗?因为我继续阅读,密钥应该是加密安全的.
最后,是不是32-byte
需要一个值AES-256-CBC
?如果是,那为什么它只openssl_cipher_iv_length()
返回int(16)
长度?不应该int(32)
吗?
Google Page Speed Insights
"尝试推迟或异步加载阻止资源,或直接在HTML中内联这些资源的关键部分."
上面的问题促使我提供了2个样式表.所以我用下面的代码加载我的样式表来推迟加载样式表.
window.onload = loadResource;
function loadResource(){
css_array=[resource1,resource2];
css_init(css_array);
}
function css_init(hrefPath){
for(a = 0; a < hrefPath.length; a++){
link=document.createElement('link');
link.href=hrefPath[a];
link.rel='stylesheet';
document.getElementsByTagName('head')[0].appendChild(link);
}
}
Run Code Online (Sandbox Code Playgroud)
与上面的代码的所有CSS样式表后,加载DOMContentLoaded Event
和Load Event
已经被解雇(的Chrome浏览器开发工具,网络选项卡)
但即使有上述内容,渲染阻止问题仍未解决.知道为什么它不起作用以及如何正确推迟css样式表?谢谢您的帮助!
javascript ×3
electron ×2
mysql ×2
php ×2
aes ×1
asynchronous ×1
cryptography ×1
database ×1
encryption ×1
firebase ×1
html5 ×1
icons ×1
import ×1
jquery ×1
node-webkit ×1
node.js ×1
pagespeed ×1
passwords ×1
php-openssl ×1
phpmyadmin ×1
security ×1
sizzle ×1
uploadcare ×1
web ×1