navigator.userAgent
, на стороне сервера тоже берётся из хидэра запроса. И то и другое возможно подменить."permissions": [
"webRequest"
// other permissions
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (details.url.indexOf("://white.listed.site")) console.log("this is a response constructed by VPN extension");
return {cancel: details.url.indexOf("://www.evil.com/") != -1}; // если нужно отменить запрос
},
{urls: ["<all_urls>"]},
["blocking"]);
chrome.webRequest.onCompleted.addListener(function(details){
console.log(`Catch ${details.method} response from ${details.url} ${details.fromCache ? ' [ from cache ]' : ''} `)
}
new Date(serverTimestamp * 1000)
) относительно его часового пояса. date.toUTCString()
по Гринвичу или, как сказал Emil Revencu, брать new Date().getTime() / 1000
( new Date().getTime()
это в миллисекундах ) $('#js-button').click(function(){
var value = $('#nkomn').val()+$('#sl').val()+$('#sd').val()+$('#sn').val()+$('#kp').val()+$('#pr').val()
$('#js-result').html(value);
setTimeout(function(){document.location.href = value}, 2000); // переход по сформированной ссылке спустя 2 секунды
setTimeout(function(){document.location.href = $('#js-result').text()}, 3000); // если value содержит тэги html
});
<a>
)$('#js-result').click();
console.log(`<Buffer ${(137).toString(16)} ${(80).toString(16)} ${(78).toString(16)}`)
let buffer = new Buffer.from("example");
console.log(buffer);
// <Buffer 65 78 61 6d 70 6c 65>
let json = buffer.toJSON();
console.log(json);
// {type: "Buffer", data: [ 101, 120, 97, 109, 112, 108, 101 ] }
let example = new Buffer.from(json);
console.log(example);
// <Buffer 65 78 61 6d 70 6c 65>
function printBuffer(buffer){
console.log(buffer);
}
printBuffer(example);
//<Buffer 65 78 61 6d 70 6c 65>
let city = 'Moscow';
А тутif(cityName.value == city) {
insert.innerHTML = DATA.main.temp - 273;
} else {
insert.innerHTML = 'такого города нет';
}
Вы удивляетесь почему Барнаул не Москва.const form = document.forms[0];
const insert = document.querySelector('.total');
let btn = document.querySelector('.btn');
let cityName = document.querySelector('.inp');
form.onsubmit = function(e) {
e.preventDefault();
const url = 'http://api.openweathermap.org/data/2.5/weather?q='+ cityName.value+'&appid='+APIKey;
fetch(url).then(response=>{
let DATA = response.json();
if('main' in DATA && 'temp' in DATA.main){
insert.innerHTML = DATA.main.temp - 273;
} else {
insert.innerHTML = 'такого города нет';
}
}
}
const APIKey = '**********************';
Что касается «opaque» — то он приходит в случаях, когда выполняется CORS запрос, но удаленный ресурс не возвращает CORS заголовки. Данный тип запроса не предоставляет доступ данным или заголовку статуса, поэтому мы не имеем возможности судить о результате выполнения запроса. В рамках текущей имплементации fetch() не представляется возможности выполнять CORS запросы из скоупа window, и вот здесь написано почему. Эта функциональность должна быть добавлена, как только Cache API станет доступным из объекта window.
function rgb2hex(rgb) {
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
function hex(x) {
return ("0" + parseInt(x).toString(16)).slice(-2);
}
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
color = color.indexOf("rgb") !== -1 ? rgb2hex(color) : color;
cat.__defineGetter__("catName", function() { return name});
cat.__defineSetter__("catName", function(_name) { name = _name});
function Cat2 () {
let catName;
return Object.freeze({
get name() { return catName},
set name(newName) {catName = newName},
whoami
});
function whoami(){
console.log(`Cat, ${catName}`);
}
}
let barsik = new Cat2();
barsik.name = "Barsik";
barsik.catName; // undefined
barsik.name; // "Barsik";
barsik.whoami(); // Cat, Barsik