0

我的应用程序中有一个 HTML 文件和 JS 文件。加载 Web 视图时,我正在加载包含对 JavaScript 文件的引用的 html 文件。我已将 JavaScript 文件添加到我的捆绑资源中以用于编译源,并且在 Web 视图中完成加载我正在调用一个 JavaScript 函数,该函数会增加 HTML 内容的字体大小,但没有调用 JavaScript 方法。

这是我的代码:

NSString *readerstring = @"document.getElementById('reader')";
      [webView stringByEvaluatingJavaScriptFromString:[[NSString alloc]initWithFormat:@"adjustFontSize('%@'.contentDocument, '4.0')",readerstring]];
4

2 回答 2

1

UIWebView你可以像这样改变字体大小,

int fontSize = 20;
NSString *String = [[NSString stringWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'", fontSize];
[myWebView stringByEvaluatingJavaScriptFromString:jsString];

或者

[myWebView stringByEvaluatingJavaScriptFromString: @"document.body.style.fontSize = '8px'"];

希望它会帮助你...

于 2013-05-24T06:54:01.430 回答
0

Web 视图加载完成后调用 JS 函数。

如果您使用任何 jQuery 函数,请不要忘记添加 jquery.js 并对其进行评估。

    -(void)webViewDidFinishLoad:(UIWebView *)webView{

    NSMutableString  *jsStr  =[[NSMutableString alloc] initWithData:[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"jquery.min" ofType:@"js"]] encoding:NSUTF8StringEncoding];
    [WebView stringByEvaluatingJavaScriptFromString:jsStr];
jsStr  =[[NSMutableString alloc] initWithData:[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"yourown" ofType:@"js"]] encoding:NSUTF8StringEncoding];
    [WebView stringByEvaluatingJavaScriptFromString:jsStr];
//evalute your js file before calling its function 
[WebView stringByEvaluatingJavaScriptFromString:@"myFunctionToChangethefontSize();"];

 //change font size directly
    [WebView stringByEvaluatingJavaScriptFromString:@"$('#divContent').css('font-size', '18px');"];

    }

重要的:

检查是否编译资源包中的 JS 文件,然后您必须将其从那里删除并将其添加到副本 Bundle Resource 中。

于 2013-05-24T07:18:49.687 回答