首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >UIWebView和本地css文件

UIWebView和本地css文件
EN

Stack Overflow用户
提问于 2010-01-09 10:45:41
回答 2查看 30.1K关注 0票数 17

我想设计一个用于桌面的网页样式,以便它可以在iPhone上的UIWebView上显示。我没有访问生成页面的web服务器的权限。我想通过以编程方式更改<link>样式表元素的href属性来实现这一点。

我使用我的IBOutlet UIWebView *webView执行以下操作。

代码语言:javascript
复制
NSString *cssPath = [[NSBundle mainBundle] pathForResource:@"MyStyleSheet" 
                                                    ofType:@"css"];
NSString *js = @"document.getElementsByTagName('link').setAttribute('href','";
NSString *js2 = [js stringByAppendingString:cssPath];
NSString *finalJS = [js2 stringByAppendingString:@"');"];

//check element structure
NSString *res = [webView stringByEvaluatingJavaScriptFromString:finalJS]; 

这不起作用。使用[webView stringByEvaluatingJavaScriptFromString:]消息并更改主体的backgroundColor确实做了一些工作-作为一种练习,以查看我是否正确地使用了调用。

我是不是找错人了?

EN

回答 2

Stack Overflow用户

发布于 2010-02-18 12:59:32

您可以从本地项目目录加载CSS

代码语言:javascript
复制
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];

详细信息请查看此网站:http://iphoneincubator.com/blog/windows-views/uiwebview-revisited

票数 26
EN

Stack Overflow用户

发布于 2010-12-23 03:10:11

如果您选择所找到元素的索引0,您的代码应该可以工作:

代码语言:javascript
复制
    NSString *js = @"document.getElementsByTagName('link')[0].setAttribute('href','";
    NSString *js2 = [js stringByAppendingString:cssPath];
    NSString *finalJS = [js2 stringByAppendingString:@"');"];
    [webview stringByEvaluatingJavaScriptFromString:finalJS];

你错过了

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2032159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档