San*_*Lee 7 javascript firefox google-chrome google-chrome-devtools firefox-developer-tools
当我尝试进入copy
内部时,Chrome会抱怨setTimeout
.
setTimeout(function () { copy('a') }, 0)
Uncaught ReferenceError: copy is not defined
at <anonymous>:1:26
Run Code Online (Sandbox Code Playgroud)
它也不适用于window
范围.
setTimeout(function () { window.copy('a') }, 0)
Uncaught TypeError: window.copy is not a function
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我保留引用copy
并重用它,它就可以工作
cc = copy;
setTimeout(function () { cc('a') }, 0);
Run Code Online (Sandbox Code Playgroud)
在Firefox中,它不会抛出任何错误,但即使使用保存的引用它也不起作用.
为什么copy
功能不起作用setTimeout
,这是一个错误吗?
通过提启发with
在这个答案,我发现,你可以用它来copy()
提供setTimeout()
,而不必创建一个全局引用它和其他回调:
with ({ copy }) { setTimeout(() => copy("copied!"), 0) }
Run Code Online (Sandbox Code Playgroud)
copied!
现在将在您的剪贴板上。不幸的是,这个技巧在 Firefox 的控制台中似乎不起作用。
归档时间: |
|
查看次数: |
1077 次 |
最近记录: |