如何在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,我无法帮助您完成项目,因为我自己正在做一个项目,但我将在我的帖子中编辑一个链接。看到了吗?它从根目录到结尾都有您需要的所有内容