Update jsHelp.md

This commit is contained in:
Xwite 2023-07-30 07:55:33 +08:00 committed by GitHub
parent d3b969da02
commit 50973c6311
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,6 +15,24 @@
## 当前类对象的可使用的部分方法
### [RssJsExtensions](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/ui/rss/read/RssJsExtensions.kt)
> 只能在订阅源`shouldOverrideUrlLoading`规则中使用
> 订阅添加跳转url拦截, js, 返回true拦截,js变量url,可以通过js打开url
> 例子https://github.com/gedoor/legado/discussions/3259
* 调用阅读搜索
```
java.searchBook(
bookName)
```
* 添加书架
```
java.addBook(bookUrl)
```
### [AnalyzeUrl](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt) 部分函数
> js中通过java.调用,只在`登录检查JS`规则中有效
```
@ -64,6 +82,12 @@ java.put(key, value)
### [js扩展类](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/help/JsExtensions.kt) 部分函数
* 链接解析[JsURL](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/utils/JsURL.kt)
```
java.toURL(url): JsURL
java.toURL(url, baseUrl): JsURL
```
* 网络请求
```
@ -83,7 +107,13 @@ java.head(url: String, headerMap: Map<String, String>): Connection.Response
* @param url html内如果有相对路径的资源不传入url访问不了
* @param js 用来取返回值的js语句, 没有就返回整个源代码
* @return 返回js获取的内容
java.webView(html: String?, url: String?, js: String?): String
java.webView(html: String?, url: String?, js: String?): String?
* 使用webView获取跳转url
java.webViewGetOverrideUrl(html: String?, url: String?, js: String?, overrideUrlRegex: String): String?
* 使用webView获取资源url
java.webViewGetSource(html: String?, url: String?, js: String?, sourceRegex: String): String?
* 使用内置浏览器打开链接,可用于获取验证码 手动验证网站防爬
* @param url 要打开的链接
@ -195,6 +225,8 @@ deleteFile(path: String)
> 其他没有添加的算法可在JavaScript中使用`JavaImporter`[调用](https://m.jb51.net/article/92138.htm)Java例子可参考`朗读引擎-阿里云语音`
> 注意阅读app会屏蔽部分java类调用见[RhinoClassShutter](https://github.com/gedoor/legado/blob/master/modules/rhino1.7.3/src/main/java/com/script/rhino/RhinoClassShutter.kt)
> 注意如果输入的参数不是Utf8String 可先调用`java.hexDecodeToByteArray java.base64DecodeToByteArray`转成ByteArray
* 对称加密
> 输入参数key iv 支持ByteArray|**Utf8String**