新人,有两个问题 ### 油猴中的方法怎么才能在控制台访问 ...
### 油猴中的方法怎么才能在控制台访问### js 如何实现同步延时
最近论坛太清闲了,出于谦让心态我决定留给楼下答 第一个问题:https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=3589&page=1#pid40997
第二个问题让楼上来回答@李恒道 开始接力了是吧,核心知识点在`Promise`
```js
// ==UserScript==
// @name 同步sleep
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @descriptiontry to take over the world!
// @author You
// @match https://bbs.tampermonkey.net.cn/
// ==/UserScript==
(async function () {
'use strict';
function sleep(t) {
return new Promise(resolve => {
setTimeout(resolve, t);
})
}
await sleep(4000);
alert('ok');
})();
``` 楼上是正解
但是注意promise不是一个完全的同步延时
js一般不太存在休眠的概念的
而且注意async具有传染性
开始认真了是吧,找到这篇文章 https://zhuanlan.zhihu.com/p/112126898
但所有主流浏览器均默认于 2018 年 1 月 5 日禁用 SharedArrayBuffer,参见 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
所以如果没有大佬提出更好的解决方案,我想同步延时只能使用 while 阻塞 大家太热情了,非常感谢 激动 第一个问题还不是很懂,比如,我在油猴中定义了一个方法,代码如下
// ==UserScript==
// @name 测试加法
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @descriptiontry to take over the world!
// @author you
// @match https://bbs.tampermonkey.net.cn/*
// ==/UserScript==
(function() {
'use strict';
function addq(a,b){
let c=a+b
return c;
}
// Your code here...
})();
如何实现控制台访问addq方法 zuimeng 发表于 2023-1-29 14:00
第一个问题还不是很懂,比如,我在油猴中定义了一个方法,代码如下
// ==UserScript==
// @name 测 ...
(function() {
'use strict';
function addq(a,b){
let c=a+b
return c;
}
windows.addq=addq
// Your code here...
})();
页:
[1]