一聋丝、注入js
wkwebview注入js有兩種方式
一種是
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
config.userContentController = [[WKUserContentController alloc] init];
NSString *js = @"function myAlert() {\
alert('這就是js啊');\
}";
WKUserScript *jsUserScript = [[WKUserScript alloc] initWithSource:js injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO];
[config.userContentController addUserScript:jsUserScript];
另一種是
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
NSString *js = @"";
[webView evaluateJavaScript:js completionHandler:^(id _Nullable response, NSError * _Nullable error) {
}];
}
二、注入css
wkwebview并沒有直接注入css的方法朱监,所以取了個巧势告,用js的方法注入了css蛇捌。
直接上代碼了。
下面這一段代碼就是要注入的js咱台,而這段代碼就是用來將css文件注入到網(wǎng)頁中的络拌。
function addNewStyle(newStyle) {
var styleElement = document.getElementById('styles_js');
if (!styleElement) {
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = 'styles_js';
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
styleElement.appendChild(document.createTextNode(newStyle));
}
如有錯誤請指正。