Asked By: Anonymous
In the vue.js application I’m working on, I suddenly get an error in Chrome inspector:
Uncaught TypeError: c.querySelectorAll is not a function
It always stops the execution. When I can continue and it doesn’t seem to cause any additional problems. But I can’t work like this if I have to hit continue several times after each click.
In the debugger I can see that c
is a variable referencing a comment in the DOM. It affects different comments. But all comments have in common that they are inserted by vue.js a placeholders for dynamic elements.
On the stack trace, there is hardly any code of mine (see example below).
(anonymous) (content_script_bundle.js:16)
childList (async)
appendChild (vue.runtime.esm.js?2b0e:5711)
insert (vue.runtime.esm.js?2b0e:6036)
createComponent (vue.runtime.esm.js?2b0e:5980)
createElm (vue.runtime.esm.js?2b0e:5919)
addVnodes (vue.runtime.esm.js?2b0e:6100)
updateChildren (vue.runtime.esm.js?2b0e:6227)
patchVnode (vue.runtime.esm.js?2b0e:6313)
patch (vue.runtime.esm.js?2b0e:6476)
Vue._update (vue.runtime.esm.js?2b0e:3942)
updateComponent (vue.runtime.esm.js?2b0e:4060)
get (vue.runtime.esm.js?2b0e:4473)
run (vue.runtime.esm.js?2b0e:4548)
flushSchedulerQueue (vue.runtime.esm.js?2b0e:4304)
(anonymous) (vue.runtime.esm.js?2b0e:1980)
flushCallbacks (vue.runtime.esm.js?2b0e:1906)
Promise.then (async)
timerFunc (vue.runtime.esm.js?2b0e:1933)
nextTick (vue.runtime.esm.js?2b0e:1990)
queueWatcher (vue.runtime.esm.js?2b0e:4396)
update (vue.runtime.esm.js?2b0e:4538)
notify (vue.runtime.esm.js?2b0e:730)
reactiveSetter (vue.runtime.esm.js?2b0e:1055)
(anonymous) (Workspace.vue?7337:142)
Promise.then (async)
(anonymous) (Workspace.vue?7337:139)
loadPanel (Workspace.vue?7337:138)
mounted (Workspace.vue?7337:112)
invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
callHook (vue.runtime.esm.js?2b0e:4213)
insert (vue.runtime.esm.js?2b0e:3139)
invokeInsertHook (vue.runtime.esm.js?2b0e:6340)
patch (vue.runtime.esm.js?2b0e:6559)
Vue._update (vue.runtime.esm.js?2b0e:3942)
updateComponent (vue.runtime.esm.js?2b0e:4060)
get (vue.runtime.esm.js?2b0e:4473)
run (vue.runtime.esm.js?2b0e:4548)
flushSchedulerQueue (vue.runtime.esm.js?2b0e:4304)
(anonymous) (vue.runtime.esm.js?2b0e:1980)
flushCallbacks (vue.runtime.esm.js?2b0e:1906)
Promise.then (async)
timerFunc (vue.runtime.esm.js?2b0e:1933)
nextTick (vue.runtime.esm.js?2b0e:1990)
queueWatcher (vue.runtime.esm.js?2b0e:4396)
update (vue.runtime.esm.js?2b0e:4538)
notify (vue.runtime.esm.js?2b0e:730)
reactiveSetter (vue.runtime.esm.js?2b0e:1055)
(anonymous) (vue-router.esm.js?8c4f:2555)
(anonymous) (vue-router.esm.js?8c4f:2554)
updateRoute (vue-router.esm.js?8c4f:2013)
(anonymous) (vue-router.esm.js?8c4f:1891)
(anonymous) (vue-router.esm.js?8c4f:2000)
step (vue-router.esm.js?8c4f:1730)
step (vue-router.esm.js?8c4f:1737)
runQueue (vue-router.esm.js?8c4f:1741)
(anonymous) (vue-router.esm.js?8c4f:1995)
step (vue-router.esm.js?8c4f:1730)
(anonymous) (vue-router.esm.js?8c4f:1734)
(anonymous) (vue-router.esm.js?8c4f:1980)
(anonymous) (vue-router.esm.js?8c4f:1808)
iterator (vue-router.esm.js?8c4f:1959)
step (vue-router.esm.js?8c4f:1733)
step (vue-router.esm.js?8c4f:1737)
step (vue-router.esm.js?8c4f:1737)
runQueue (vue-router.esm.js?8c4f:1741)
confirmTransition (vue-router.esm.js?8c4f:1988)
transitionTo (vue-router.esm.js?8c4f:1890)
push (vue-router.esm.js?8c4f:2200)
push (vue-router.esm.js?8c4f:2581)
handler (vue-router.esm.js?8c4f:458)
invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
invoker (vue.runtime.esm.js?2b0e:2179)
original._wrapper (vue.runtime.esm.js?2b0e:6911)
What’s the cause? How can I fix it? Is it related to the latest vue.js update?
Solution
Answered By: Anonymous
This GitHub issue tipped me off. It’s not related to vue.js nor webpack nor Angular. It’s caused by Ghostery.
Turn Ghostery off for your web page and the problem goes away.