我想设计一个用于桌面的网页样式,以便它可以在iPhone上的UIWebView上显示。我没有访问生成页面的web服务器的权限。我想通过以编程方式更改<link>
样式表元素的href
属性来实现这一点。
我使用我的IBOutlet UIWebView *webView
执行以下操作。
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
确实做了一些工作-作为一种练习,以查看我是否正确地使用了调用。
我是不是找错人了?
发布于 2010-02-18 12:59:32
您可以从本地项目目录加载CSS
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];
详细信息请查看此网站:http://iphoneincubator.com/blog/windows-views/uiwebview-revisited
发布于 2010-12-23 03:10:11
如果您选择所找到元素的索引0,您的代码应该可以工作:
NSString *js = @"document.getElementsByTagName('link')[0].setAttribute('href','";
NSString *js2 = [js stringByAppendingString:cssPath];
NSString *finalJS = [js2 stringByAppendingString:@"');"];
[webview stringByEvaluatingJavaScriptFromString:finalJS];
你错过了
https://stackoverflow.com/questions/2032159
复制相似问题