如何在iOS中将javascript附加到UIWebView中?

如何在iOS中将javascript附加到UIWebView中?,ios,cocoa-touch,uiwebview,Ios,Cocoa Touch,Uiwebview,我正在尝试更改UIWebView中的字体。 我尝试使用以下代码更改字体 NSString *path = [[NSBundle mainBundle] bundlePath]; NSString *cssPath = [path stringByAppendingPathComponent:@"test.css"]; if(!cssPath) { NSLog(@"NO"); } NSString *js = [NSString str

我正在尝试更改
UIWebView
中的字体。 我尝试使用以下代码更改字体

NSString *path = [[NSBundle mainBundle] bundlePath];
    NSString *cssPath = [path stringByAppendingPathComponent:@"test.css"]; 

    if(!cssPath)
    {
        NSLog(@"NO");
    }

    NSString *js = [NSString stringWithFormat:@"var cssChild = document.createElement('link');"
                    "cssChild = 'text/css';"
                    "cssChild = 'stylesheet';"
                    "cssChild = '%@';", cssPath];
    js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(cssChild);", js];

    [webViewOfInitial stringByEvaluatingJavaScriptFromString:js];
我将css文件附加到从internet加载的页面的标题中。 我的css文件如下所示

@font-face {
    font-family: 'Zawgyi-One';
    font-style: normal;
    src: local('Zawgyi-One');
}

body {
    font-family: 'Zawgyi-One';
}
然而,当我在加载完页面后检索html标记时,我找不到上面的css标记。 那么,如何将css文件附加到当前页面的
UIWebView的
标题标记中呢? 或者是否有其他关于
UIWebView
字体更改的教程


谢谢。

您正朝着正确的方向前进,但您没有提到您正在尝试更改的委托方法。 您可以将javascript保存在.js文件中,因为您以后可能会对其进行更改,而通过代码(而不是js文件)反映更改将非常麻烦。请尝试使用以下方法:-

必须使用正确的baseURL参数将HTML加载到视图中,才能在UIWebView中使用相对路径或文件

NSString *path = [[NSBundle mainBundle] bundlePath]; 
NSURL *baseURL = [NSURL fileURLWithPath:path];     
[webView loadHTMLString:htmlString baseURL:baseURL]; 
baseURL接受NSURL对象作为文件引用。您可以根据需要指定本地URL或web URL。如您所做,在
webViewDidFinishLoad:(UIWebView*)webView
中附加css文件

注意:-选择.js文件并取消选中bullseye列,该列指示该文件为编译代码。(如果不选择,则只会收到一条警告)


这里有一个可能会让你开始的例子。

如果可以,请用静态HTML页面为我的问题编写一个示例项目。我真的需要。Please.htmlstring是您的html内容。它可以是NSString,也可以是直接指向html文件的NSString。您能帮我完成示例项目吗?我真的需要您的帮助。Please.HI,我无法帮助您完成项目,因为我自己正在做一个项目,但我将在我的帖子中编辑一个链接。看到了吗?它从根目录到结尾都有您需要的所有内容