#javascript #google-chrome-extension #google-chrome-devtools
Вопрос:
Я пытаюсь выяснить, содержит ли URL-адрес «https://v16m.tiktokcdn.com/». При преобразовании URL-адреса в строку код выдает ошибку TypeError: Cannot read property 'indexOf' of undefined
. Я также использовал toString()
и не нашел в этом никаких успехов. При входе value.href
в консоль он печатается undefined
, а при входе value.toString()
в систему-печатается [object Object]
. При входе в систему просто value
выводится полный URL-адрес. Спасибо
background.js
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if(request.message === 'storage update') {
chrome.storage.local.get("data", value => {
if(value.href.indexOf("https://v16m.tiktokcdn.com/") > -1) {
chrome.downloads.download({
url: value
})
}
});
}
});
network.js
chrome.devtools.network.onRequestFinished.addListener(
function (request) {
chrome.storage.local.set({"data": request.request.url});
chrome.runtime.sendMessage({message: 'storage update'})
}
)
Комментарии:
1. Я бы предположил, что using
chrome.storage.local.get
вернет значение в виде строки. Что такоеvalue
?2. И
value.indexOf
тоже не сработало?3. @evolutionxbox-это
value
URL -адрес запроса запросов.4. @CBroe только
value.indexOf
что вернулсяTypeError: value.indexOf is not a function at <URL>
5. chrome.storage.local.set-это асинхронный api. Вы должны отправить свое сообщение в chrome.storage.local.установить функцию обратного вызова.