在我的应用程序中,我必须更改从在线加载的网页的字体。
首先,我将我的 CustomJava.js 文件存储在在线托管中,然后我使用该文件来更改我的 iOS 应用程序中的字体。
这是我的一些代码。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *js = [NSString stringWithFormat:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.src = 'http://www.gustohei.com/SYjs/customJava.js';"];
js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(script);", js];
[self.webViewOfBrowser stringByEvaluatingJavaScriptFromString:js];
UIApplication *app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;
}
很好,可以正确更改字体。
就我而言,我想将该 JS 文件保留在我的文档目录中,并希望使用文档目录中的该文件。我不想从网上使用。
所以我写了以下代码。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *jsPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"customJava.js"];
NSString *js = [NSString stringWithFormat:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.src ='%@'",jsPath];
js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(script);", js];
[self.webViewOfBrowser stringByEvaluatingJavaScriptFromString:js];
UIApplication *app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;
}
然而它不起作用。怎么做?