1
$("head").append('<link href="xxx.css" rel="stylesheet" type="text/css"/>');

このスニペットがIE8で機能していないことがわかりましたか?

4

1 に答える 1

6

jqueryサイトのこのバグレポートによると、IE8では相対リンクを含むCSSファイルをDOMに追加することに問題がある可能性があります。

バグの投稿者は、次のように追加すると機能する可能性があることを示唆しています。

    var style = document.createElement("link");
    style.setAttribute("type", "text/css");
    style.setAttribute("rel", "stylesheet");
    style.setAttribute("href", "xxx.css");
    jQuery("head")[0].appendChild(style);

または、絶対URLを使用しても機能する場合があります。

    $('<link rel="stylesheet" type="text/css" href="http://yoursite.com/css/xxx.css">').appendTo('head');

</ p>

彼は続けて、追加されたcssファイル内に@importを介して含まれるファイルも、期待どおりにロードされないと述べています。

これらのテストケースを回転させて、何がロードされ、何がロードされないかを確認することをお勧めします(それが機能する場合は、HTMLウィンドウで灰色の背景が表示されます)。

OPの質問で使用された方法:http://jsfiddle.net/vs5NC/20/

私の答えからの最初の可能な解決策:http://jsfiddle.net/vs5NC/17/

私の答えから2番目に考えられる解決策:http://jsfiddle.net/vs5NC/19/

これらのいずれも機能しない場合は、同様の質問に対するChrisFulstowの回答が実行可能な解決策である可能性があります。

于 2012-08-15T03:16:01.263 に答える