diff --git a/Kiwix-iOS/Controller/Main/JSInjection.swift b/Kiwix-iOS/Controller/Main/JSInjection.swift
index 295cba9c..f5b6ac5a 100644
--- a/Kiwix-iOS/Controller/Main/JSInjection.swift
+++ b/Kiwix-iOS/Controller/Main/JSInjection.swift
@@ -11,6 +11,12 @@ import JavaScriptCore
class JS {
+ class func inject(webView: UIWebView) {
+ guard let url = Bundle.main.url(forResource: "injection", withExtension: "js"),
+ let jString = try? String(contentsOf: url) else {return}
+ webView.stringByEvaluatingJavaScript(from: jString)
+ }
+
class func preventDefaultLongTap(webView: UIWebView) {
let jString = "document.body.style.webkitTouchCallout='none';"
webView.context.evaluateScript(jString)
diff --git a/Kiwix-iOS/Controller/Main/MainDelegates.swift b/Kiwix-iOS/Controller/Main/MainDelegates.swift
index 070e4200..449b7808 100644
--- a/Kiwix-iOS/Controller/Main/MainDelegates.swift
+++ b/Kiwix-iOS/Controller/Main/MainDelegates.swift
@@ -28,6 +28,7 @@ extension MainController: UIWebViewDelegate, SFSafariViewControllerDelegate {
}
func webViewDidFinishLoad(_ webView: UIWebView) {
+ JS.inject(webView: webView)
JS.preventDefaultLongTap(webView: webView)
URLResponseCache.shared.stop()
@@ -157,8 +158,10 @@ extension MainController: ButtonDelegates {
func didLongPressBookmarkButton() {
showBookmarkHUD()
-// guard let url
-// let article = Article.fetch(url: <#T##URL#>, context: <#T##NSManagedObjectContext#>)
+ guard let url = webView.request?.url,
+ let article = Article.fetch(url: url, context: AppDelegate.persistentContainer.viewContext) else {return}
+ article.title = JS.getTitle(from: webView)
+
}
}
diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist
index 62c93e4d..131ff26f 100644
--- a/Kiwix-iOS/Info.plist
+++ b/Kiwix-iOS/Info.plist
@@ -49,7 +49,7 @@
CFBundleVersion
- 1.8.3396
+ 1.8.3401
ITSAppUsesNonExemptEncryption
LSRequiresIPhoneOS
diff --git a/Kiwix-iOSWidgets/Bookmarks/Info.plist b/Kiwix-iOSWidgets/Bookmarks/Info.plist
index 217f17bb..2ea4ebe5 100644
--- a/Kiwix-iOSWidgets/Bookmarks/Info.plist
+++ b/Kiwix-iOSWidgets/Bookmarks/Info.plist
@@ -21,7 +21,7 @@
CFBundleSignature
????
CFBundleVersion
- 1.8.3396
+ 1.8.3401
NSExtension
NSExtensionMainStoryboard
diff --git a/Kiwix/JavaScripts/getSnippet.js b/Kiwix/JavaScripts/getSnippet.js
index d508e013..243a6806 100644
--- a/Kiwix/JavaScripts/getSnippet.js
+++ b/Kiwix/JavaScripts/getSnippet.js
@@ -1,19 +1,2 @@
-function getSnippet() {
- var element = document.getElementById('mw-content-text');
- if (element) {
- var children = element.children;
- for (i = 0; i < children.length; i++) {
- var child = children[i];
- if (child.tagName == 'P') {
- var text = child.textContent || child.innerText || "";
- if (text.replace(/\s/g, '').length) {
- var regex = /\[[0-9|a-z|A-Z| ]*\]/g;
- text = text.replace(regex, "");
- return text;
- }
- }
- }
- }
- return null;
-}
+
getSnippet();
diff --git a/Kiwix/JavaScripts/injection.js b/Kiwix/JavaScripts/injection.js
index 1dae06e1..88560198 100644
--- a/Kiwix/JavaScripts/injection.js
+++ b/Kiwix/JavaScripts/injection.js
@@ -136,3 +136,22 @@ function startCallBack() {
function stopCallBack() {
window.onscroll = undefined;
}
+
+function getSnippet() {
+ var element = document.getElementById('mw-content-text');
+ if (element) {
+ var children = element.children;
+ for (i = 0; i < children.length; i++) {
+ var child = children[i];
+ if (child.tagName == 'P') {
+ var text = child.textContent || child.innerText || "";
+ if (text.replace(/\s/g, '').length) {
+ var regex = /\[[0-9|a-z|A-Z| ]*\]/g;
+ text = text.replace(regex, "");
+ return text;
+ }
+ }
+ }
+ }
+ return null;
+}