UIWebView根据选定的主题更改css文件

我正在编写一个包含多个主题的应用程序。 用户从应用程序设置和所有应用程序主题更改中选择一个主题。 但我无法实现的是改变本地htmls的css文件。

我有几个本地html文件。

HtmlFileA.html
HtmlFileB.html
HtmlFileC.html
。 。 。

和css文件

genericCssTheme1.css
genericCssTheme2.css
。 。 。

关于每个主题。

我正在尝试做的是在HTML中更改CSS文件,以便我可以将我的颜色适合新选定的主题。 我不想为每个主题一次又一次地创建相同的Html文件。 只是改变CSS引用就足以实现我想要的。 这是我如何将我的htmls加载到UIWebView。

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];

每个html文件都以相同的方式链接到它的CSS。 喜欢这个:
<link rel =“stylesheet”type =“text / css”href =“genericCssTheme1.css”/>
<link rel =“stylesheet”type =“text / css”href =“genericCssTheme2.css”/>

我实际上有一个解决方案,但我想问问,如果有另一种方式(一种有效的方式)来做到这一点。 这是我想出的。 我将在每个html中编写一个通用的href引用。

<link rel="stylesheet" type="text/css" href="genericcssfilename"/>

在将它加载到UIWebView之前,我将用实际的文件名替换它。

<link rel="stylesheet" type="text/css" href="genericCssTheme2.css"/>

有没有其他方法可以建议我?


也许你可以使用JS在webView中选择主题? 不知道如何在JS中实现它(你可以在这个网站上询问),但它应该足够好,只需打电话

[webView stringbyevaluatingJavaScript:@"ChangeThemeTo(1)"]

并在webView中完成所有工作,而无需重新加载和重新创建HTML。 你的JS函数必须添加到你的html作为参考或东西(网络编程不是我的技能)

链接地址: http://www.djcxy.com/p/66073.html

上一篇: UIWebView change css file according to selected theme

下一篇: javascript onclick, anonymous function