Я делаю мобильный браузер с собственными объявлениями в swift, и я хочу запустить скрипт. Я уже добавляю локальный файл javascript, но он открывается в другом окне и переопределяет содержимое веб-просмотра. Возможно ли запустить код javascript на странице веб-просмотра? а не в другом окне, только на странице странице content.Hope вы получите егоЗагрузить локальный javascript в webview?
1
A
ответ
5
Использование WKWebView
для яваскрипта вызова метода:
Шаг 1. Класс импорта для WebKit
Obj-C: #import <WebKit/WebKit.h>
Swift: import WebKit
Шаг 2. Создать WKWebView
экземпляр (к сожалению, это может быть сделано только programatical LY)
Obj-C @property (strong, nonatomic) WKWebView *wkWebView;
Свифта var wkWebView: WKWebView? = WKWebView()
Шаг 3. Затем в viewDidLoad
Obj-C:
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
NSString *scriptSourceCode = @"your javascript code here";
WKUserScript *script = [[WKUserScript alloc] initWithSource:source injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:YES];
WKUserContentController *controller = [[WKUserContentController alloc] init];
[controller addUserScript:script];
configuration.userContentController = controller;
_wkWebView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:configuration];
[self.view addSubview:_wkWebView];
Свифта:
let configuration = WKWebViewConfiguration()
let controller = WKUserContentController()
let scriptSourceCode = "your javascript code here"
let script = WKUserScript(source: scriptSourceCode, injectionTime: WKUserScriptInjectionTime.AtDocumentStart, forMainFrameOnly: true)
controller.addUserScript(script)
configuration.userContentController = controller
self.wkWebView = WKWebView(frame: self.view.frame, configuration: configuration)
self.view.addSubview(self.wkWebView!)
Шаг 4 Загрузите HTML-строка (или loadRequest) в wkWebView
:
Obj-C:
[_wkWebView loadHTMLString:_desiredHTML baseURL:[[NSBundle mainBundle] bundleURL]];
Свифта:
self.wkWebView?.loadHTMLString(_desiredHTML, baseURL: NSBundle.mainBundle().bundleURL)
Шаг 5. Вызов метода, который существует в JavaScript включен в WKWebView
Obj-C:
NSString *callMethod = [NSString stringWithFormat:@"existingMethodWithParam(%@)", stringParam];
[_wkWebView evaluateJavaScript:callMethod
completionHandler:^(id obj, NSError *error) {
if (error)
{
NSLog(@"ERROR evaluating JavaScript - %@", error);
}
else
{
NSLog(@"Returned value - %@", obj); //if the javascript method has a return type
}
}];
Swift:
let callMethod = String(format: "existingMethodWithParam(%@)", stringParam)
[self.wkWebView?.evaluateJavaScript(callMethod, completionHandler: { (obj, error) -> Void in
println(obj)
println(error)
})]
Смежные вопросы
- 1. JavaFX WebView загрузить локальный файл Javascript
- 2. Загрузить локальный html в WebView?
- 3. Cant загрузить локальный PDF файл в WebView
- 4. Локальный файл pdf в webView
- 5. Как загрузить локальный файл Javascript
- 6. winrt: загрузить локальный html и его ресурсы в webview
- 7. Как загрузить локальный html-файл в xamrian-формах webview
- 8. Загрузить локальный файл CSS в Xamarin IOS WebView?
- 9. Как загрузить локальный файл HTML с помощью WebView в JavaFX
- 10. Как загрузить локальный веб-страницы в JavaScript
- 11. Как загрузить javascript в android webView
- 12. Загрузить javascript в android WebView без loadUrl()
- 13. Загрузить файл, созданный javascript в android webview
- 14. Загрузить локальный HTML/Javascript с помощью WKWebView iOS
- 15. Загрузите локальный файл html в webview android
- 16. AsyncTask загружает локальный файл в WebView
- 17. Android WebView Загрузить файл на триггер JavaScript
- 18. Загрузить javascript метод из Android Webview
- 19. Загрузка Javascript в webview
- 20. Загрузить файлы в webview?
- 21. Swift - Загрузить локальный HTML-код в UiWebView
- 22. Как загрузить локальный HTML-файл в Android-браузере
- 23. Как показать локальный файл html в webview?
- 24. добавить локальный файл css в webview
- 25. WebView необходимо загрузить дважды, чтобы правильно загрузить
- 26. Загрузить локальный SWF в AIR
- 27. Загрузить локальный репозиторий в сборку
- 28. proc загрузить локальный файл
- 29. Как загрузить файл javascript в WebView в приложении osx?
- 30. iPhone: загрузить локальный html в uiwebview через javascript
Вы используете 'UIWebView' или' WKWebView'? Я рекомендую использовать 'WKWebView' для использования javascript-методов ПОСЛЕ загрузки представления. – Nishant
Я использую UIWebView, спасибо за совет – CDDsw
вы хотите вставить файл .js или вы хотите выполнить какой-либо код javascript? – jcesarmobile