-1
jQuery(document).ready(function($) { 
        /******* Load CSS *******/
        $('head').append('<link rel="stylesheet" type="text/css" media="all" href="'+('https:' == document.location.protocol ? 'https://' : 'http://') +'thesite.com/api/widgets/tghd/pages.css">');    
    });

上記のコードは、ドキュメントにスタイル シートを追加するために使用するものです。コード インスペクタにはコードが追加されたことが示されますが、コンソールにはブラウザがドキュメントを要求したことが表示されず、スタイルが有効になりません。

既に読み込まれているドキュメントにスタイル シートを追加して有効にするにはどうすればよいですか。

ところで。問題があれば、このコードをウィジェットに使用しているため、複数のドメインで使用されます。

助けてくれてありがとう!

4

2 に答える 2

1

いくつかのテストを行った後、最終的に何が起こっているのかを理解しました。この元のコードは、@Vicky Gonsalves によって提供されました。

    var li = document.createElement('link');
    li.type = 'text/css';     
    var href=('https:' == document.location.protocol ? 'https://' : 'http://') +'thesite.com/api/widgets/pages.css';
    li.setAttribute('href', href);
    li.setAttribute('rel','stylesheet');
    var s = document.getElementsByTagName('head')[0];
    s.appendChild(li, s);

これに加えた変更は次のとおりです。

  • さまざまな接続タイプに役立つように、http および https スイッチを追加しました
  • 属性 li.setAttribute('rel','stylesheet'); を追加しました。<--これで問題は解決したと思います。
于 2013-10-14T03:53:58.227 に答える
1

これを試して:

(function () {
    var li = document.createElement('link');
    li.type = 'text/css';     
    var href='http://' + 'thesite.com/api/widgets/tghd/pages.css';
    li.setAttribute('href', href);
    var s = document.getElementsByTagName('head')[0];
    s.appendChild(li, s);
})();
于 2013-10-12T04:16:32.450 に答える