Size: a a a

JavaScript — русскоговорящее сообщество

2021 March 18

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
var db;
var request = indexedDB.open("MyTestDatabase");
request.onerror = function(event) {
 alert("Почему Вы не позволяете моему веб-приложению использовать IndexedDB?!");
};
request.onsuccess = function(event) {
 db = event.target.result;
};
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Тогда не будет этой херни
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Дебильная идея на test() двигать lastIndex
источник

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
Да норм идея вполне, просто ему это не нужно в данном случае
источник

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
Так что сделай функцию getDb(callback) которая либо вызывает callback(db) либо делает запрос на открытие и потом в событии делает callback(db)
источник

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
А потом сделай это через addEventListener чтоб не было гонки
источник

VC

Valera CSS_Junior in JavaScript — русскоговорящее сообщество
вы меня не поняли. там так далее по коду:
for (const candidate of searchEnginesSettings) {
     const regex = new RegExp(candidate.activatePattern, 'gi')
     const match = regex.test(currentUrl)

     if (match && candidate.active) {
       return setKeysSearchEngines(candidate, extOptions)
     }

   }

я не могу в этот код залезть и что-то там менять
источник

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
No homo? 😃
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Valera CSS_Junior
вы меня не поняли. там так далее по коду:
for (const candidate of searchEnginesSettings) {
     const regex = new RegExp(candidate.activatePattern, 'gi')
     const match = regex.test(currentUrl)

     if (match && candidate.active) {
       return setKeysSearchEngines(candidate, extOptions)
     }

   }

я не могу в этот код залезть и что-то там менять
Там ничего менять и не надо, т.к. каждый раз новый regexp создается, у тебя этой проблемы, которую ты наблюдаешь в фиддле не будет
источник

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
Valera CSS_Junior
вы меня не поняли. там так далее по коду:
for (const candidate of searchEnginesSettings) {
     const regex = new RegExp(candidate.activatePattern, 'gi')
     const match = regex.test(currentUrl)

     if (match && candidate.active) {
       return setKeysSearchEngines(candidate, extOptions)
     }

   }

я не могу в этот код залезть и что-то там менять
Говнокод какой-то, почему не сделать currentUrl.match(new RegExp(...)) ?
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
А в чем принципиальная разница?
источник

VC

Valera CSS_Junior in JavaScript — русскоговорящее сообщество
Личинка Кайтера Zorin
Говнокод какой-то, почему не сделать currentUrl.match(new RegExp(...)) ?
может потому что если есть regex переменная ее видно в дебагере сразу?
источник

ЛZ

Личинка Кайтера Zori... in JavaScript — русскоговорящее сообщество
Valera CSS_Junior
может потому что если есть regex переменная ее видно в дебагере сразу?
Ну может быть, не знаю зачем дебаггер нужен вообще
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Ну, начнем с того, что MDN рекомендует regexp.test()
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Прямым текстом написано
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Кроме того, regexp.test() быстрее, чем string.match()
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Кроме того, когда ты делаешь currentURL.test() придется сначала убедиться, что currentURL - это строка, а для regexp.test() это в принципе не обязательно
источник