0

我正在编写一个 JavaScript 来将新的 CSS 规则注入到 Android 浏览器的页面中,以便以自定义 CSS 字体显示一些文本(经过一些替换)。

以下是我尝试注入 CSS 规则的方法:

var css = '@font-face {font-family:"font"; src:url(http://www.example.com/font.ttf);} si{font-family:"font"}';
if(document.getElementsByTagName("style")[0]){
   var style = document.getElementsByTagName("style")[0];
} else {
   var style = document.createElement("style");
   style.type = "text/css";
   document.getElementsByTagName("HEAD")[0].appendChild(style);
}
var sheet = style.sheet;
sheet.insertRule(css, sheet.cssRules.length);

然后使用 JavaScript XPath 实现替换文本。替换线在此模型中:

text = text.replace(/\'/g, "<si>♥&lt;/si>");

文本替换完美发生。但是注入 CSS 规则部分不起作用。被替换的文本只是显示为<si>♥&lt;/si>(也打印了标签)。:(

任何人都可以更正我的注入 CSS 规则的代码,或者请提出其他方法来做到这一点。

谢谢!

更新:我在支持 CSS 字体的 Android 2.2 中模拟它。

4

1 回答 1

1

@font-face 似乎在 Android 2.0 和 2.1(错误跟踪器)上被破坏了。

于 2010-10-16T14:44:21.637 回答