Xwite 4 лет назад
Родитель
Сommit
229509bab5

+ 5 - 0
app/src/main/assets/help/jsHelp.md

@@ -62,6 +62,11 @@ java.connect(urlStr): Response<String>
 * @param js 用来取返回值的js语句, 没有就返回整个源代码
 * @return 返回js获取的内容
 java.webView(html: String?, url: String?, js: String?): String
+
+* 使用内置浏览器打开链接,可用于获取验证码 手动验证网站防爬
+* @param url 要打开的链接
+* @param title 浏览器的标题
+java.startBrowser(url: String, title: String)
 ```
 * 调试
 ```

+ 1 - 0
app/src/main/assets/updateLog.md

@@ -15,6 +15,7 @@
 
 * 优化强调色和文字颜色一样的情况下一些文字的显示
 * 修复bug
+* js添加 java.startBrowser
 
 **2022/05/01**
 

+ 14 - 0
app/src/main/java/io/legado/app/help/JsExtensions.kt

@@ -15,6 +15,7 @@ import io.legado.app.help.http.*
 import io.legado.app.model.Debug
 import io.legado.app.model.analyzeRule.AnalyzeUrl
 import io.legado.app.model.analyzeRule.QueryTTF
+import io.legado.app.ui.browser.WebViewActivity
 import io.legado.app.utils.*
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.async
@@ -131,6 +132,19 @@ interface JsExtensions {
         }
     }
 
+    /**
+     * 使用内置浏览器打开链接,可用于获取验证码 手动验证网站防爬
+     * @param url 要打开的链接
+     * @param title 浏览器页面的标题
+     */
+    fun startBrowser(url: String, title: String) {
+        appCtx.startActivity<WebViewActivity> {
+            putExtra("title", title)
+            putExtra("url", url)
+            IntentData.put(url, getSource()?.getHeaderMap(true))
+        }
+    }
+
     /**
      * 可从网络,本地文件(阅读私有缓存目录和书籍保存位置支持相对路径)导入JavaScript脚本
      */