tyyhzww6 发表于 2023-3-16 02:28:31

求教脚本猫 @require 如何离线引入js字符串

```
// @require      https://scriptcat.org/lib/637/1.0.1/ajaxHooker.js
// @require        https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js
```
想让脚本省流点,想把这段代码改成离线的形式插入到脚本中,求教在脚本猫中有方法吗

steven026 发表于 2023-3-16 02:28:32

```js
// @grant GM_xmlhttpRequest
// @grant GM_setValue
// @grant GM_getValue

function GM_xhr(url) {
    return new Promise((resolve) => {
      GM_xmlhttpRequest({
            url,
            method: 'GET',
            onload: (xhr) => resolve(xhr.responseText)
      })
    })
}


let ajaxHookerScript = GM_getValue('ajaxHooker')
if (!ajaxHookerScript) {
    ajaxHookerScript = await GM_xhr('https://scriptcat.org/lib/637/1.0.1/ajaxHooker.js')
    GM_setValue('ajaxHookerScript', ajaxHookerScript)
}
eval(ajaxHookerScript)

let jQueryScript = GM_getValue('jQuery')
if (!jQueryScript) {
    jQueryScript = await GM_xhr('https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js')
    GM_setValue('jQuery', jQueryScript)
}
eval(jQueryScript)
```
把代码下载到本地存储然后直接读

王一之 发表于 2023-3-16 09:34:57

直接复制粘贴代码进脚本?

shabby 发表于 2023-3-16 10:07:58

@require 代码在安装时插件会自动下载保存,并不是每次运行都要请求下载一次。

省流 这件事,插件早就自动帮你做了

steven026 发表于 2023-3-16 16:48:20

shabby 发表于 2023-3-16 10:07
@require 代码在安装时插件会自动下载保存,并不是每次运行都要请求下载一次。

省流 这件事,插件早就自动 ...

自己写的代码,油猴每次修改保存都会请求一次所有外部资源,脚本猫不清楚
如果确定是长期稳定版本,或者不需要更新的话,保存到本地也能减少请求,还遇到过ping不通导致脚本运行卡的情况

tyyhzww6 发表于 2023-3-16 18:24:10

王一之 发表于 2023-3-16 09:34
直接复制粘贴代码进脚本?

收到,谢谢大佬回复,感谢!
好久没写了,一下忘了他本身也是函数{:4_109:}

tyyhzww6 发表于 2023-3-16 18:24:39

shabby 发表于 2023-3-16 10:07
@require 代码在安装时插件会自动下载保存,并不是每次运行都要请求下载一次。

省流 这件事,插件早就自动 ...

收到,谢谢大佬回复,感谢!
好久没写了,一下忘了他本身也是函数{:4_109:}

tyyhzww6 发表于 2023-3-16 18:25:19

steven026 发表于 2023-3-16 16:48
自己写的代码,油猴每次修改保存都会请求一次所有外部资源,脚本猫不清楚
如果确定是长期稳定版本,或者 ...

收到,谢谢大佬回复,感谢!
好久没写了,一下忘了他本身也是函数{:4_109:}

王一之 发表于 2023-3-17 09:42:22

steven026 发表于 2023-3-16 16:48
自己写的代码,油猴每次修改保存都会请求一次所有外部资源,脚本猫不清楚
如果确定是长期稳定版本,或者 ...

脚本猫是第一次缓存,后面可能修改一下逻辑,脚本更新的时候缓存吧,tm每次修改都缓存一次?

steven026 发表于 2023-3-17 10:53:43

王一之 发表于 2023-3-17 09:42
脚本猫是第一次缓存,后面可能修改一下逻辑,脚本更新的时候缓存吧,tm每次修改都缓存一次? ...

油猴修改一次代码保存一次就请求一次
如果你在调试一个脚本,这个脚本又有很多外部资源,如果你频繁修改保存,也会频繁请求外部资源,具体有没有节流机制就不知道了
页: [1]
查看完整版本: 求教脚本猫 @require 如何离线引入js字符串