rss webView添加注入js
This commit is contained in:
@@ -111,6 +111,8 @@ data class RssSource(
|
||||
&& enableJs == source.enableJs
|
||||
&& loadWithBaseUrl == source.loadWithBaseUrl
|
||||
&& equal(variableComment, source.variableComment)
|
||||
&& equal(style, source.style)
|
||||
&& equal(injectJs, source.injectJs)
|
||||
}
|
||||
|
||||
private fun equal(a: String?, b: String?): Boolean {
|
||||
@@ -180,6 +182,7 @@ data class RssSource(
|
||||
ruleLink = doc.readString("$.ruleLink"),
|
||||
ruleContent = doc.readString("$.ruleContent"),
|
||||
style = doc.readString("$.style"),
|
||||
injectJs = doc.readString("$.injectJs"),
|
||||
enableJs = doc.readBool("$.enableJs") ?: true,
|
||||
loadWithBaseUrl = doc.readBool("$.loadWithBaseUrl") ?: true,
|
||||
enabledCookieJar = doc.readBool("$.enabledCookieJar") ?: false,
|
||||
|
||||
@@ -31,6 +31,7 @@ import io.legado.app.ui.qrcode.QrCodeResult
|
||||
import io.legado.app.ui.widget.dialog.TextDialog
|
||||
import io.legado.app.ui.widget.dialog.UrlOptionDialog
|
||||
import io.legado.app.ui.widget.keyboard.KeyboardToolPop
|
||||
import io.legado.app.ui.widget.text.EditEntity
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
@@ -477,7 +478,7 @@ class BookSourceEditActivity :
|
||||
"voteDownUrl" -> reviewRule.voteDownUrl = it.value
|
||||
"postReviewUrl" -> reviewRule.postReviewUrl = it.value
|
||||
"postQuoteUrl" -> reviewRule.postQuoteUrl = it.value
|
||||
"deleteUrl" -> reviewRule.deleteUrl =it.value
|
||||
"deleteUrl" -> reviewRule.deleteUrl = it.value
|
||||
}
|
||||
}
|
||||
source.ruleSearch = searchRule
|
||||
|
||||
@@ -13,6 +13,7 @@ import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.ui.widget.code.addJsPattern
|
||||
import io.legado.app.ui.widget.code.addJsonPattern
|
||||
import io.legado.app.ui.widget.code.addLegadoPattern
|
||||
import io.legado.app.ui.widget.text.EditEntity
|
||||
|
||||
class BookSourceEditAdapter : RecyclerView.Adapter<BookSourceEditAdapter.MyViewHolder>() {
|
||||
|
||||
@@ -70,7 +71,7 @@ class BookSourceEditAdapter : RecyclerView.Adapter<BookSourceEditAdapter.MyViewH
|
||||
}
|
||||
}
|
||||
editText.setText(editEntity.value)
|
||||
textInputLayout.hint = itemView.context.getString(editEntity.hint)
|
||||
textInputLayout.hint = editEntity.hint
|
||||
val textWatcher = object : TextWatcher {
|
||||
override fun beforeTextChanged(
|
||||
s: CharSequence,
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
package io.legado.app.ui.book.source.edit
|
||||
|
||||
data class EditEntity(var key: String, var value: String?, var hint: Int)
|
||||
@@ -1,3 +0,0 @@
|
||||
package io.legado.app.ui.rss.source.edit
|
||||
|
||||
data class EditEntity(var key: String, var value: String?, var hint: Int)
|
||||
@@ -22,6 +22,7 @@ import io.legado.app.ui.rss.source.debug.RssSourceDebugActivity
|
||||
import io.legado.app.ui.widget.dialog.TextDialog
|
||||
import io.legado.app.ui.widget.dialog.UrlOptionDialog
|
||||
import io.legado.app.ui.widget.keyboard.KeyboardToolPop
|
||||
import io.legado.app.ui.widget.text.EditEntity
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
|
||||
@@ -183,6 +184,7 @@ class RssSourceEditActivity :
|
||||
add(EditEntity("ruleLink", source?.ruleLink, R.string.r_link))
|
||||
add(EditEntity("ruleContent", source?.ruleContent, R.string.r_content))
|
||||
add(EditEntity("style", source?.style, R.string.r_style))
|
||||
add(EditEntity("injectJs", source?.injectJs, R.string.r_inject_js))
|
||||
}
|
||||
adapter.editEntities = sourceEntities
|
||||
}
|
||||
@@ -225,6 +227,7 @@ class RssSourceEditActivity :
|
||||
"ruleContent" -> source.ruleContent =
|
||||
viewModel.ruleComplete(it.value, source.ruleArticles)
|
||||
"style" -> source.style = it.value
|
||||
"injectJs" -> source.injectJs = it.value
|
||||
}
|
||||
}
|
||||
return source
|
||||
|
||||
@@ -13,6 +13,7 @@ import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.ui.widget.code.addJsPattern
|
||||
import io.legado.app.ui.widget.code.addJsonPattern
|
||||
import io.legado.app.ui.widget.code.addLegadoPattern
|
||||
import io.legado.app.ui.widget.text.EditEntity
|
||||
|
||||
class RssSourceEditAdapter : RecyclerView.Adapter<RssSourceEditAdapter.MyViewHolder>() {
|
||||
|
||||
@@ -69,7 +70,7 @@ class RssSourceEditAdapter : RecyclerView.Adapter<RssSourceEditAdapter.MyViewHol
|
||||
}
|
||||
}
|
||||
editText.setText(editEntity.value)
|
||||
textInputLayout.hint = itemView.context.getString(editEntity.hint)
|
||||
textInputLayout.hint = editEntity.hint
|
||||
val textWatcher = object : TextWatcher {
|
||||
override fun beforeTextChanged(
|
||||
s: CharSequence,
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package io.legado.app.ui.widget.text
|
||||
|
||||
import splitties.init.appCtx
|
||||
|
||||
data class EditEntity(var key: String, var value: String?, var hint: String) {
|
||||
|
||||
constructor(key: String, value: String?, hint: Int) : this(key, value, appCtx.getString(hint))
|
||||
|
||||
}
|
||||
@@ -438,6 +438,7 @@
|
||||
<string name="r_image">图片url规则(ruleImage)</string>
|
||||
<string name="r_content">内容规则(ruleContent)</string>
|
||||
<string name="r_style">样式(style)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="r_link">链接规则(ruleLink)</string>
|
||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
|
||||
@@ -442,6 +442,7 @@
|
||||
<string name="r_image">图片url规则(ruleImage)</string>
|
||||
<string name="r_content">内容规则(ruleContent)</string>
|
||||
<string name="r_style">样式(style)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="r_link">链接规则(ruleLink)</string>
|
||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
|
||||
@@ -440,6 +440,7 @@
|
||||
<string name="r_image">图片url规则(regraImagem)</string>
|
||||
<string name="r_content">内容规则(regraConteúdo)</string>
|
||||
<string name="r_style">样式(formato)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="r_link">链接规则(regraLink)</string>
|
||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
|
||||
@@ -434,6 +434,7 @@
|
||||
<string name="r_image">圖片 url 規則 (ruleImage)</string>
|
||||
<string name="r_content">內容規則 (ruleContent)</string>
|
||||
<string name="r_style">樣式 (style)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="r_link">鏈接規則 (ruleLink)</string>
|
||||
<string name="check_key_word">校驗關鍵字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
|
||||
@@ -441,6 +441,7 @@
|
||||
<string name="r_image">圖片url規則(ruleImage)</string>
|
||||
<string name="r_content">內容規則(ruleContent)</string>
|
||||
<string name="r_style">樣式(style)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="r_link">連結規則(ruleLink)</string>
|
||||
<string name="check_key_word">校驗關鍵字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
|
||||
@@ -441,6 +441,7 @@
|
||||
<string name="r_image">图片 URL 规则(ruleImage)</string>
|
||||
<string name="r_content">内容规则(ruleContent)</string>
|
||||
<string name="r_style">样式(style)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="r_link">链接规则(ruleLink)</string>
|
||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
|
||||
@@ -443,6 +443,7 @@
|
||||
<string name="r_content">内容规则(ruleContent)</string>
|
||||
<string name="r_style">样式(style)</string>
|
||||
<string name="r_link">链接规则(ruleLink)</string>
|
||||
<string name="r_inject_js">注入Js(injectJs)</string>
|
||||
<string name="check_key_word">校验关键字(checkKeyWord)</string>
|
||||
<string name="rule_actions">操作(actions)</string>
|
||||
<string name="rule_is_pay">购买标识(isPay)</string>
|
||||
|
||||
Reference in New Issue
Block a user