Javascript Can';t将URL转换为字符串
我正在尝试查找URL是否包含“https://v16m.tiktokcdn.com/". 将URL转换为字符串时,代码会给出错误Javascript Can';t将URL转换为字符串,javascript,google-chrome-extension,google-chrome-devtools,Javascript,Google Chrome Extension,Google Chrome Devtools,我正在尝试查找URL是否包含“https://v16m.tiktokcdn.com/". 将URL转换为字符串时,代码会给出错误TypeError:cannotread属性'indexOf'的undefined。我还使用了toString(),但也没有发现任何成功的方法。当将value.href记录到控制台时,它打印未定义的,当记录value.toString()时,它打印[object]。当只记录value时,它会打印完整的URL。谢谢 background.js chrome.runtime
TypeError:cannotread属性'indexOf'的undefined
。我还使用了toString()
,但也没有发现任何成功的方法。当将value.href
记录到控制台时,它打印未定义的,当记录value.toString()
时,它打印[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
})
}
});
}
});
chrome.devtools.network.onRequestFinished.addListener(
function (request) {
chrome.storage.local.set({"data": request.request.url});
chrome.runtime.sendMessage({message: 'storage update'})
}
)
network.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
})
}
});
}
});
chrome.devtools.network.onRequestFinished.addListener(
function (request) {
chrome.storage.local.set({"data": request.request.url});
chrome.runtime.sendMessage({message: 'storage update'})
}
)
我假设使用chrome.storage.local.get
将以字符串形式返回值。什么是value
?和value.indexOf
也不起作用?@evolutionxboxvalue
是请求的请求。@CBroe只是value.indexOf
返回TypeError:value.indexOf不是chrome.storage.local.set的函数,而是异步api。您必须在chrome.storage.local.set回调函数中发送消息。