我正在寻找一种 javascript 方法或一种更改 UIWebView 中文本行距的方法。
有任何想法吗?
编辑:
埃文已经回答了上述问题,但我在同一主题上还有另一个问题。
如何查询当前行距值的来源?
我正在寻找一种 javascript 方法或一种更改 UIWebView 中文本行距的方法。
有任何想法吗?
编辑:
埃文已经回答了上述问题,但我在同一主题上还有另一个问题。
如何查询当前行距值的来源?
UIWebView
您需要通过调用将 javascript 注入到源代码中stringByEvaluatingJavaScriptFromString:
。
Javascript:
var head = document.getElementsByTagName('head')[0],
style = document.createElement('style'),
rules = document.createTextNode('* { line-height: 20px !important; }');
style.type = 'text/css';
if(style.styleSheet)
style.styleSheet.cssText = rules.nodeValue;
else style.appendChild(rules);
head.appendChild(style);
Objective-C(可能在webViewDidFinishLoading:
):
NSString *js = /* The javascript above in a string */
[webView stringByEvaluatingJavaScriptFromString:js];
要检索页面line-height
上第一个h1
元素的值:
Javascript:
var element = document.getElementsByTagName('h1')[0],
style = window.getComputedStyle(element),
lh = style.getPropertyValue('line-height');
return lh;
目标-C:
NSString *js = /* The javascript above in a string */
NSString *lineHeight = [webView stringByEvaluatingJavaScriptFromString:js];