使用JavaScript的UIWebView CSS注入 [英] UIWebView CSS injection using JavaScript

查看:143
本文介绍了使用JavaScript的UIWebView CSS注入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图注入一个本地css文件到一个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注入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆