Articles of javascript

Onde está minha implementação de uma linha de rot13 em JavaScript dando errado?

Código em questão com destaque de syntax aqui: via Friendpaste rot13.js: String.prototype.rot13 = rot13 = function(s) { return (s = (s) ? s : this).split(”).map(function(_) { if (!_.match(/[A-Za-z]/)) return _; c = Math.floor(_.charCodeAt(0) / 97); k = (_.toLowerCase().charCodeAt(0) – 96) % 26 + 13; return String.fromCharCode(k + ((c == 0) ? 64 : 96)); }).join(”); […]

Como descomprimir (descomprimir) o corpo de resposta gzip do módulo de uma solicitação NodeJS?

Como faço para descompactar um corpo com gzip na resposta do módulo de uma solicitação? Eu tentei vários exemplos em toda a web, mas nenhum deles parece funcionar. request(url, function(err, response, body) { if(err) { handleError(err) } else { if(response.headers[‘content-encoding’] == ‘gzip’) { // How can I unzip the gzipped string body variable? // For […]

Como realizar o upload de um arquivo HTTP usando Express on Cloud Functions para Firebase (multer, busboy)

Eu estou tentando fazer upload de um arquivo para Cloud Functions, usando o Express para lidar com as solicitações lá, mas não estou conseguindo. Eu criei uma versão que funciona localmente: serverside js const express = require(‘express’); const cors = require(‘cors’); const fileUpload = require(‘express-fileupload’); const app = express(); app.use(fileUpload()); app.use(cors()); app.post(‘/upload’, (req, res) => […]

Conceito – Destilar como funciona uma promise?

Eu olhei para muitas implementações e todas elas parecem tão diferentes que eu não posso realmente destilar qual é a essência de uma promise. Se eu tivesse que adivinhar, é apenas uma function que é executada quando um retorno de chamada é acionado. Alguém pode implementar a promise mais básica em algumas linhas de código […]

Verificar se o membro do object existe no object nested

Existe uma maneira mais simples do que usar ___ in object para verificar a existência de cada nível de um object para verificar a existência de um único membro? De forma mais concisa: Como posso verificar se o someObject.member.member.member.value existe?

Abrir links em nova janela usando o AngularJS

Existe uma maneira de dizer ao AngularJS que eu quero que os links sejam abertos em novas janelas quando o usuário clica neles? Com jQuery eu faria isso: jQuery(“a.openInNewWindow”).click( function() { window.open(this.href); return false; }) Existe um equivalente com o AngularJS?

Como posso diferenciar uma rolagem manual (via roda do mouse / barra de rolagem) de uma rolagem Javascript / jQuery?

ATUALIZAR: Aqui está um exemplo jsbin demonstrando o problema. ATUALIZAÇÃO 2: E aqui está a versão corrigida graças ao fudgey . Basicamente, eu tenho o seguinte javascript que rola a janela para uma âncora na página: // get anchors with href’s that start with “#” $(“a[href^=#]”).live(“click”, function(){ var target = $($(this).attr(“href”)); // if the target […]

Comando de comutação condicional de Javascript

Existe uma maneira de escrever uma instrução switch condicional em javascript? Eu estou supondo que não, uma vez que o seguinte é sempre o padrão: var raw_value = 11.0; switch(raw_value) { case (raw_value > 10.0): height = 48; width = 36; break; case (raw_value > 5.0): height = 40; width = 30; break; default: height […]

Ativando CORS em Cloud Functions para Firebase

No momento, estou aprendendo como usar as novas funções do Cloud para Firebase, e o problema que estou tendo é que não consigo acessar a function que escrevi por meio de uma solicitação AJAX. Eu recebo o erro “No ‘Access-Control-Allow-Origin’”. Aqui está um exemplo da function que escrevi: exports.test = functions.https.onRequest((request, response) => { response.status(500).send({test: […]

Sondagem de servidor com JavaScript

Qual é a melhor prática para o servidor de pesquisa com JavaScript para o aplicativo que precisa atualizar os dados muito rapidamente? Estou usando o jQuery para front-end e o Java Spring Framework para backend. Exemplo de dados atualizados pode ser uma lista de itens que estão sendo atualizados muito rapidamente (a cada 1 segundo).