UIWebView CSS injection using JavaScript(使用 JavaScript 的 UIWebView CSS 注入)
问题描述
我正在尝试将本地 css 文件注入完成加载网站(如 google 等)的 UIWebView.
I'm trying to inject a local css file into an UIWebView that finished loading website such as google etc.
我正在尝试使用 JavaScript,但没有成功.
I'm trying with JavaScript but with no success.
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *cssPath = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"styles.css"]];
NSURL *baseURL = [NSURL fileURLWithPath:cssPath];
NSString *js = [NSString stringWithFormat:@"var fileref = document.createElement('link');
fileref.setAttribute('rel', 'stylesheet');
fileref.setAttribute('type', 'text/css');
fileref.setAttribute('href', %@);", baseURL];
[webView stringByEvaluatingJavaScriptFromString:js];
}
谢谢,
推荐答案
要将 javascript 注入 Web 视图,您必须在 html 中显式编写.
To inject javascript into a web view you must explicitly write in the html.
我在 javascript scrollTo 函数中写了一个例子:
An example of this is here where I wrote in a javascript scrollTo function:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = "function myFunction() { "
"window.scrollTo(100,100)"
"}";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];}
此代码将整个脚本标签和 myFunction 写入 HTML 的头部
This code writes the entire script tags and the myFunction into the head of the HTML
这篇关于使用 JavaScript 的 UIWebView CSS 注入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 JavaScript 的 UIWebView CSS 注入
基础教程推荐
- NSString intValue 不能用于检索电话号码 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
