Я пишу 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>♥</si>");
Замена текста происходит идеально. Но внедрение правила CSS не работает. Замененный текст просто отображается как <si>♥</si>
(с напечатанными тегами). (
Может кто-нибудь исправить мой код введения правила CSS или предложить другой способ сделать это.
Спасибо!
Обновление: я эмулирую это в Android 2.2, которая поддерживает шрифты CSS.