RewriteCond %{HTTP_REFERER} ^https?://apples\.example\.com/index\.html(?:$|\?)
RewriteRule ^$ http://example.com/
const filterArrByObj = (arr, obj) =>
Object.entries(obj).reduce((arr, [ k, v ]) => {
return arr.filter(Array.isArray(v)
? n => v.includes(n[k])
// !v.length || v.includes(n[k]), если при пустом массиве допустимо любое значение
: n => v === n[k]
// n[k].includes(v), если точное соответствие не нужно
);
}, arr);
computed: {
filteredData() {
return filterArrByObj(this.data, this.filters);
},
},
<tr v-for="n in filteredData">
...
// PREVENT CLIPBOARD COPYING
document.querySelector('body').addEventListener("copy", function(evt){
if(evt.target.nodeName === "A" && (evt.target.href.indexOf("mailto:") === 0 || evt.target.href.indexOf("tel:") === 0)) return;
// Change the copied text if you want
evt.clipboardData.setData("text/plain", "Copying is not allowed on this webpage");
// Prevent the default copy action
evt.preventDefault();
}, false);
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('.bmenu__theme > img').outerHTML = '<img alt="Зарплаты айтишников" src="'+chrome.extension.getURL('/images/1.png')+'" style="position:relative; vertical-align: middle; top: -2px; margin-right: 4px;" width="20">';
});
{
"matches": ["https://qna.habr.com/*"],
"css": ["style.css"],
"js": ["script.js"],
"run_at": "document_start"
}
let date1 = new Date("2020-07-30T07:09:58.999+0300");
let date2 = new Date("2020-07-30T07:09:58.998+0300");
console.log(date1>date2); // => true
console.log(date1<date2); // => false
let date1 = new Date("2020-07-30T07:09:58.999+0300");
let date2 = new Date("2020-07-30T07:09:58.998+0300");
console.log(date1.getTime()>date2.getTime()); // => true
console.log(date1.getTime()<date2.getTime()); // => false
new Date("2020-07-30T07:09:58.999+0300");
2020 - год
07 - месяц (июль)
30 - число
07 - часов
09 - минут
58 - секунд
998 - милисекунд
+0300 - часовой пояс (МСК +3:00)
console.log((new Date("2020-07-30T07:09:58.999+0300")).getTime())
// => 1596082198999
let str1 = "2020-07-30T07:09:58.999+0300";
let str2 = "2020-07-30T07:09:58.998+0300";
console.log(str1>str2); // => true
console.log(str1<str2); // => false
/// (начальный х, начальный у,конечный х,конечный у, минимальная длина линии,макс длинная линии, минимальная угол отклонения, макс угол отклонение) вернет массив точек
function generateLines(xStart,yStart,xEnd,yEnd, lenRandMin,lenRandMax,angleDeviationMin, angleDeviationMax ){
var arrayPos = [[xStart,yStart]];
var xCur = xStart;
var yCur = yStart;
angleDeviationMin = (angleDeviationMin * Math.PI)/180;//в радианы
angleDeviationMax = (angleDeviationMax * Math.PI)/180;//в радианы
var deviationPos = false;
do{
if(getDist(xCur,yCur,xEnd,yEnd) <= lenRandMax){
xCur = xEnd;
yCur = yEnd;
}
else{
var len = rand(lenRandMin,lenRandMax);
var angle = getAngle(xCur,yCur,xEnd,yEnd) + (deviationPos?rand(angleDeviationMin,angleDeviationMax):-rand(angleDeviationMin,angleDeviationMax));
xCur += Math.cos(angle) * len;
yCur += Math.sin(angle) * len;
}
arrayPos.push([xCur,yCur]);
deviationPos = !deviationPos;
}while(!(xCur == xEnd && yCur == yEnd));
return arrayPos;
}
//Получить угол между двумя точками
function getAngle(dx,dy,dx1,dy1){
return Math.atan2(dy - dy1,dx - dx1) + Math.PI;
}
///Получить растояние между двумя точками
function getDist(x,y,x1,y1){
return Math.sqrt(Math.pow(x1 - x,2)+Math.pow(y1-y,2));
}
//Получить рандомное от min до max
function rand(min, max) {
return min + Math.random() * (max - min)
}
но нормального ничего не нашёл.нормальное - понятие растяжимое.
<div id="wrap">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
<img src="/">
</div>
#wrap {position: absolute; }
#wrap img {width: 30px; height: 30px; background:#333; position: absolute; }
var num = 20; // Число картинок
var wrap = 400; // Размер "холста" для расположения картинок
var radius = 200; // Радиус нашего круга
$(document).ready(function() {
for (i=0;i<num; i++){
var f = 2 / num * i * Math.PI; // Рассчитываем угол каждой картинки в радианах
var left = wrap + radius * Math.sin(f) + 'px';
var top = wrap + radius * Math.cos(f) + 'px';
$('#wrap img').eq(i).css({'top':top,'left':left}); // Устанавливаем значения каждой картинке
}
});
const ﹩ = document.querySelector.bind(document) // вау, почти jQuery! с одной строчки!
// Кто-то может повестись и знатно вынести себе моск:)
﹩('#nav-trigger').onclick =ௐ=> {
﹩('#menu-navigation').classList.add('active');
﹩('#menu-close').classList.add('active');
}
HTMLElement.prototype.addClass = function(className) { this.classList.add(className) }
﹩('#menu-navigation').addClass('active');
const ﹩ = selector => (list => list.length > 1 ? [...list] : list[0])(document.querySelectorAll(selector))