Чем отличается событие клика от button.click()
button.click()
- программный тригер клика на кнопке без участия пользователя. То есть клик из под скрипта.Как вообще сформулировать гуглу запрос на эту тему, что бы статью какую-то почитать
rename old.txt new.txt
rename old2.txt new.txt
Затем сохраняете этот файл под каким-нибудь именем с расширением .bat (например go.bat) или .cmd в каталог, где лежат файлы.pause
function isprXML(xmlfile) {
// //почистить шаблон до правильного вида переменных {field1}
var re = /({.*?})/sg;
var re2 = /(<.*?>)/g;;
let result = xmlfile.match(re) || [];
let newres = [];
result.forEach(element => {
var newel = element.replace(re2, "");
xmlfile = xmlfile.replace(element, newel);
});
return xmlfile;
}
HTMLElement.prototype.waitFor = function(event_name) {
if (event_name) {
return new Promise((res, rej) => {
const listener = function() {
res()
this.removeEventListener(event_name, listener)
};
this.addEventListener(event_name, listener);
})
} else {
throw 'No event passed to waitFor method!';
}
}
async function foo() {
const start = new Date();
await document.querySelector('body').waitFor('click');
console.log('uspeshno dojdalis clicka, jdali celih ' + ((new Date().getTime() - start.getTime())/1000) + ' sekund');
}
foo();
async function checkUser(login, password) {
const ad = new ActiveDirectory(ad_config)
const auth = await new Promise((resolve, reject) => {
ad.authenticate(login, password, (err, auth) => {
if (err) {
return reject(err)
}
resolve(auth)
})
})
return auth
}
function setClipboard(text) {
const type = "text/html";
const blob = new Blob([text], { type });
const data = [new ClipboardItem({ [type]: blob })];
navigator.clipboard.write(data).then(
function () {
console.log('/* success */');
},
function (err) {
console.log(err);
}
);
}
indexOf()
, который возвращает -1
если не найдено, или индекс от 0
и больше.-1
или иное значение. Можно просто сравнивать if (a.indexOf(b) > -1) { /* найдено! */ }
но иногда хочется короче.~
хорош тем, что выделяет -1
: только -1
с этим оператором даст 0
. Прочие числа дадут какое-то ненулевое значение.~(-1) === 0
0
и больше получилось тоже ненулевое число, и !!
даст true
-1
получится уникальный 0
, и !!0
вернёт false
а из конкретных Фейсбука и Вконтакте, к примеру? Тупо парсинг? API? Некое сочетание того и другого?Только парсинг, только хардкор. АПИ не дают доступа к постам и перепискам, все ручками, благо там не сказать что какой-то слишком сложный алгоритм. Да, есть нюансы с авторизацией и аккаунтами, спам траффиком и прочими похожими проблемами, но в целом достаточно тривиальная работа краулера. Скорее всего часть тащится обычными запросами из курла, а часть вытаскивается через условный вебдрайвер, а ля пупитир или селениум.
this.height = this.contentWindow.document.body.scrollHeight + 'px';
.addEventListener('click', event => {
event.stopPropagation()
...
}, true);
^(.{0,7})\r\n|^([0-9]{8})\r\n
EdgeDeflector регистрируется как программа, способная открывать эти специальные microsoft-edge ссылки. Когда вы нажимаете на одну из этих ссылок после установки EdgeDeflector, Windows спросит вас, как вы хотите открыть ссылку. Выбрав EdgeDeflector, он скрыто изменит ссылку так, чтобы она стала обычной веб-ссылкой, и передаст ее обратно в Windows. Затем Windows откроет ссылку в вашем веб-браузере по умолчанию - будь то Firefox, Chrome, Vivaldi, Microsoft Edge или что-либо ещё
element.classList.add('class')
) и снимать по таймеру(setTimeout(){}
), можете оставить как в демке - тогда будет мигать после первого нажатия по ссылке и после каждого нажатия по ссылке, если текущий хэш не #footer.