2

<p>情報を an に渡して<iframe>形式を一致させることができるように、a の形式を盗聴する必要があります。

jQueryを使用してフォントフェイスを取得できます

var font = $("p").css('font-family');
var fsiz = $("p").css('font-size');

ただし、font-family が Web フォント (「Open Sans」など) の場合は、@font-faceそれをロードしたルールの src も見つける必要があります。

どうすればいいのかわかりません。

4

3 に答える 3

5

すべてのcss定義フォントを検索し、ここでデモを行います(コンソール)。

function getFonts (obj) {
    var o = obj || {},
        sheet = document.styleSheets,
        rule = null,
        i = sheet.length, j;
    while( 0 <= --i ){
        rule = sheet[i].rules || sheet[i].cssRules || [];
        j = rule.length;
        while( 0 <= --j ){
            if( rule[j].constructor.name === 'CSSFontFaceRule' ){ // rule[j].slice(0, 10).toLowerCase() === '@font-face'
                o[ rule[j].style.fontFamily ] = rule[j].style.src;
            };
        }
    }
    return o;
}
于 2012-11-01T05:47:49.327 に答える
1

私は、選択したソリューションを IE と FF、さらには iOS の Safari でも機能するように調整しました。選択したソリューションは Chrome でのみ機能しました。(残念ながら、そのソリューションにコメントを追加することはまだできません。そのため、別のソリューションに入れています。)

function getFonts (obj) {
    var o = obj || {},
        sheets = document.styleSheets,
        rules = null,
        i = sheets.length, j;
    while( 0 <= --i ){
        rules =  sheets[i].cssRules || sheets[i].rules || []; // I swapped those two, IE would go wrong
        j = rules.length;
        while( 0 <= --j ){
            if( rules[j].toString() == "[object CSSFontFaceRule]" ){  // This works in IE and FF too
                o[ rules[j].style.fontFamily ] = rules[j].style.src;
            };
        }
    }
    return o;
}
于 2014-09-09T10:51:52.753 に答える