0

カスタム CSS フォントでテキストを表示するために、新しい CSS ルールを Android ブラウザのページに挿入する JavaScript を作成しています (置換後)。

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 に答える