- 主题:storage addListener(f)没反应,改成(x=>f(x))则可以。为啥?
准备弄个chrome插件,contents.js:
这样子就没反应:
chrome.storage.local.onChanged.addListener(location.reload)
改成=>就可以了:
chrome.storage.local.onChanged.addListener(()=>location.reload())
这是为啥?
chrome 79, win7, x64
--
FROM 117.174.76.*
上下reload执行时this binding应该不同,是不是这原因就不知道了哈
--
FROM 175.190.31.*
谢谢,改成有的事件响应函数就没问题了,
我也不是太懂,再慢慢沿着你说的这个可能性去摸索了。
【 在 syu198412 (sgano1) 的大作中提到: 】
: 上下reload执行时this binding应该不同,是不是这原因就不知道了哈
--
FROM 117.174.76.*
【 在 wushunchao 的大作中提到: 】
: 谢谢,改成有的事件响应函数就没问题了,
: 我也不是太懂,再慢慢沿着你说的这个可能性去摸索了。
:
把第一个改成 chrome.storage.local.onChanged.addListener(location.reload.bind(location))试试,如果好用的话那就是this binding的问题
--
FROM 124.93.160.*
试了,果如你说言,就是this binding的问题了。firefox和chrome试的结果都一样。
感谢!
【 在 syu198412 (sgano1) 的大作中提到: 】
: 把第一个改成 chrome.storage.local.onChanged.addListener(location.reload.bind(location))试试,如果好用的话那就是this binding的问题
--
FROM 117.174.76.*