小编Dsh*_*hiz的帖子

如何检查十六进制颜色是否"太黑"?

我正在尝试评估颜色选择器选择的颜色的暗度,看它是否"太黑",如果是,则将其设置为白色.我以为我可以使用十六进制值的第一个字符来取消它.它正在工作,但它也正在切换一些合法的"轻"颜色.

我有代码这样做:

        if (lightcolor.substring(0,3) == "#00"|| lightcolor.substring(0,3) == "#010"){
            lightcolor="#FFFFFF";
            color=lightcolor;
        }
Run Code Online (Sandbox Code Playgroud)

使用十六进制数学必须有一种更有效的方法才能知道颜色超出了一定的黑暗程度?就像lightcolor +"some hex value"<="some hex value"一样,然后将其设置为白色.

我添加了tinyColor,这可能对此有用,但我不确定.

一堆!

javascript colors

100
推荐指数
6
解决办法
3万
查看次数

为什么我在经过验证的网站上获得了403 AdSense for Google?

这是我的网站:http://vling.at.

AdSense显示已经过验证.我已经等了大约10个小时,甚至广告的占位符也没有出现.

AdSense不会显示任何政策违规,抓取工具错误或消息.

我在检查adsense请求的标头时发现了这一点: Referrer Policy:no-referrer-when-downgrade

请求和状态消息的完整文本:

Request URL:https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-****************&format=1200x90&output=html&h=90&slotname=3349281912&adk=2375655327&adf=3025194257&w=1200&afmt=auto&lmt=1494458991&rafmt=1&flash=25.0.0&url=http%3A%2F%2Fvling.at%2F&resp_fmts=3&wgl=1&dt=1494459018567&bpp=20&bdt=84&fdt=23&idt=45&shv=r20170508&cbv=r20170110&saldr=aa&correlator=969628337021&frm=20&ga_vid=1590241153.1493524169&ga_sid=1494459019&ga_hid=2035244233&ga_fc=0&pv=2&iag=3&icsg=2&nhd=1&dssz=2&mdo=0&mso=0&u_tz=-300&u_his=4&u_java=0&u_h=1080&u_w=1920&u_ah=1050&u_aw=1920&u_cd=24&u_nplug=5&u_nmime=7&adx=0&ady=0&biw=1249&bih=984&eid=575144605%2C137237720&oid=3&rx=0&eae=0&fc=16&brdim=0%2C0%2C0%2C0%2C1920%2C0%2C1920%2C1050%2C1249%2C984&vis=1&rsz=%7C%7CeE%7C&abl=CS&ppjl=u&pfx=0&fu=144&bc=1&ifi=1&xpc=Mf0j8p1Icb&p=http%3A//vling.at&dtd=69
Request Method:GET
Status Code:403 
Remote Address:216.58.208.98:443
Referrer Policy:no-referrer-when-downgrade
Run Code Online (Sandbox Code Playgroud)

这是什么意思?无论它意味着什么都在我的问题背后.

这是失败的adsense脚本的特定部分.

.write(c)},du=function(a,b,c){var d=E;b.src=wr(a);a=Ir(b);return cu(d,a,c)},gu=function(a,b,c,d){var e=E;b.src=wr(a);a=Ir(b);if(e.google_native_ad_template)return eu(e,a,c,d);if(c=yf(e)){e=Gp(M(),e);b={native_ad_template:e};if(e)return fu(c,a,d,b);a=Fp("AD_TEMPLATE_NOT_FOUND");e=a.code;a=a.message;window.console&&window.console.error&&window.console.error(e,a);if(b=b.native_ad_template){var f={status:"ERROR",errCode:e,errMessage:a,template:b},g=M();try{if(D.createEvent){var h=
Run Code Online (Sandbox Code Playgroud)

请注意,I DO INDEED指定了AD模板.任何帮助,或解决这个问题的方向是最受欢迎的..

谢谢!

adsense

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

如何仅使用纯 javascript 使用 js-ipfs 创建目录并将文件添加到 ipfs

我在研究中能找到的唯一答案是从 PC 上的目录上传多个文件。这不是我想要做的。我正在尝试在 ipfs 中创建一个目录,然后仅使用纯 JavaScript 的 js-ipfs 将新文件添加到该目录中,通常一次一个文件。

我从概念上理解 ipfs 中的目录只是另一个文件。但我不明白如何创建该目录(文件)并将其他文件添加到其中以供以后检索,尤其是使用 js-ipfs 和纯 javascript 代码。

我隐式地不使用 node.js,因此也不使用 react、angular 或 vue。

这适用于 ipfs 上没有目录的单个文件:

<!DOCTYPE html>
<html>
<head>
  <script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>
</head>
<script>
    document.addEventListener('DOMContentLoaded', async () => {
        const nodeId = 'ipfs-' + Math.random()
        const node = await Ipfs.create({ repo: nodeId })
        console.log("Your node: " + nodeId)
        window.node = node
        const status = node.isOnline() ? 'online' : 'offline'
        console.log(`Node status: ${status}`)
        async function addFile () {
            for await (const { cid …
Run Code Online (Sandbox Code Playgroud)

javascript ipfs js-ipfs

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

为什么不$(window).height(); 返回一个值,但$(document).height(); 呢?

我正在尝试使用jQuery来获取当前窗口高度.我打算用这个值设置一个变量,并在调整大小时更新该值.出于某种原因,$(window).height(); 总是返回零,但$(document).height(); 返回一个值.为什么会这样?

(为简洁起见,代码剪断)

$(document).ready(function () {

function drawGrid() {

    var context = document.getElementById("gridCanvas").getContext("2d");

    var height = $(window).height();
    var width = height/2/8;
    alert(height);

    $(window).resize(function () {
        // do some stuff
    });

        // do some cool drawing stuff

    }

    drawGrid();

});
Run Code Online (Sandbox Code Playgroud)

jquery

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

如何使用sockets.io/node.js/javascript转义mysql特殊字符

我使用sockets.io将用户生成的消息插入MySQL,但我遇到插入带撇号的记录的问题.我一直在尝试在客户端脚本上使用replace()方法,但输入文本是使用撇号传递的.

  socket.on('refresh feed',function(msg){
        str=msg.replace("'", "\'");
        alert(str);
    $("#chtxt").append(str + '<br />');
  });
Run Code Online (Sandbox Code Playgroud)

上述尝试将在没有特殊字符的情况下警告任何字符串,但在存在时不会发出警报.我相信在消息发送到套接字之后我实际上是发出警报.

因此,我尝试调整此代码,该代码监视输入键按下以查看撇号,也没有运气.

  $('#omnibox').keypress(function (e) {
    var key = e.which;
    if(key == 13)  // the enter key code
    {
      $('input[name = "clicky"]').click();
      return false;  
    }
    if(key == 222)  // the apostrophe key code
    {
            alert('Apostrophe!')
      return false;  
    }
    });
Run Code Online (Sandbox Code Playgroud)

我研究了如何使用javascript替换MySQL的特殊字符的问题,但发现过时的堆栈解释了为什么客户端验证不是一个好主意.

没关系.如果我不应该这样做客户端,那么我需要知道如何在我的server.js节点脚本中执行此操作.它仍然是javascript,所以任何一方的解决方案,只要它是安全的将是伟大的.

服务器端代码:

var add_status = function (status,callback) {
    pool.getConnection(function(err,connection){
        if (err) {
          callback(false);
          return;
        }
    connection.query("INSERT INTO `videosub` (`url`) VALUES ('"+status+"')",function(err,rows){
            connection.release();
            if(!err) {
              callback(true);
            } …
Run Code Online (Sandbox Code Playgroud)

javascript mysql sockets node.js

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

TweetNaCl.js 最小公钥签名示例

我试图了解如何使用纯 JavaScript基于此处的演示来实现一个最小的基本公钥签名示例。

我的研究还没有产生一个简单的 JavaScript 示例,我可以用它来理解其内部工作原理,而且文档目前超出了我的理解范围。

我尝试查看演示的源代码,但它并没有透露其秘密。

库的示例也没有这方面的示例。

密码学对我来说是非常新的东西,因此任何有关如何在 Node.js 中使用纯 JavaScript 创建公钥示例的基线示例将不胜感激!

伪代码:

const nacl = require('tweetnacl')
let message = "This is my unencrypted message"
let naclPair = nacl.sign.keyPair()
let signedMessage = nacl.sign(message, naclPair.secretKey)
let decrypted = nacl.sign.open(signedMessage, naclPair.publicKey) // is this right?
console.log(decrypted) // should this print the decrypted message?
Run Code Online (Sandbox Code Playgroud)

附带说明一下,我对 node.jsrequire比对 ES6更熟悉import,如果这对这里的答案有任何影响并且可以帮助演示如何使用这个库。

javascript cryptography node.js tweet-nacl

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

删除缩进,但在模板文字中保留换行符

我有以下模板文字:

let message = `
    1 call
    Alert time: 6:00:57 PM
    `
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这里的各种答案,但是对于我正在使用的 API,这些解决方案都无法正常工作。这些解决方案似乎导致开头反引号和结尾反引号之后的换行符与缩进一起被删除。

因为这种情况正在发生,所以我正在使用的 API 将模板文字视为没有换行符的单个字符串。

如何保留所有换行符但仅删除1 calland前面的缩进Alert time: 6:00:57 PM

我的预期输出是这样的:


1 call
Alert time: 6:00:57 PM

Run Code Online (Sandbox Code Playgroud)

javascript template-literals

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

如何对导出的构造函数使用await import()?

我将此作为我的函数构造函数:

测试.js

const myConstructor = function(){
  this.hi = 'hi'
  console.log(this.hi)
}
export default myConstructor
Run Code Online (Sandbox Code Playgroud)

我正在await import()test2.js 中尝试:

测试2.js

const test = await import('./test.js')

new test()
Run Code Online (Sandbox Code Playgroud)

这失败了TypeError: test is not a constructor

但是,如果我正常导入它,它就可以正常工作:

测试2.js

import test from './test.js'
//const test = await import('./test.js')

new test()
Run Code Online (Sandbox Code Playgroud)

^^ 打印hi到控制台。

这里发生了什么?为什么这两种方法对于构造函数的行为如此不同?对于正常功能来说,这似乎不会发生。

我必须通过直接在构造函数模块内调用构造函数来解决这个问题,但这并不理想。

javascript import node.js async-await es6-modules

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

Node.js 环境变量具有可由 Node.js 读取的多个键/值?

我想创建一个 .env 文件,它有一个环境变量,提供可由 node.js 读取的多个键/值。

例如:

USERNAME=firstname:John,lastname:Doe
Run Code Online (Sandbox Code Playgroud)

然后是这样的:

require('dotenv').config()

let myEnvVariable = process.env.USERNAME
let firstName = myEnvVariable.firstname
let lastName = myEnvVariable.lastname

console.log(fistName, lastName)
// expected result: John Doe
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?如果是这样,我该怎么办?

environment-variables node.js

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

如何设置audio.play()的音量

这里没什么特别的,我只是想让音频以所需的音量播放。

var audio = new Audio('mysound.mp3');
audio.play();
Run Code Online (Sandbox Code Playgroud)

我假设有一些参数可以传递到audio.play中,但我很难找到一个好的参考。

谢谢!

javascript audio

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