aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt
new file mode 100644
index 00000000..e7a9df5a
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt
@@ -0,0 +1,32 @@
+package com.pitchedapps.frost.injectors
+
+import android.webkit.WebView
+
+/**
+ * Created by Allan Wang on 2017-05-31.
+ */
+class JsInjector {
+ private val builder = StringBuilder()
+
+ init {
+ builder.append("javascript:(function(){")
+ }
+
+ private fun getElementById(id: String) = "document.getElementById(\"$id\")"
+
+ private fun hideElementById(id: String) {
+ builder.append(getElementById(id)).append(".style.display=\"none\";")
+ }
+
+ fun hideElementById(vararg ids: String) {
+ ids.forEach { hideElementById(it) }
+ }
+
+ fun build() = builder.toString() + "})()"
+
+ fun inject(webView: WebView) {
+ webView.loadUrl(build())
+ }
+
+ override fun toString() = build()
+} \ No newline at end of file