html
  • css
  • 2016-11-09 80 views 0 likes 
    0

    我正在使用其中一個SaaS進行鉛查找。我貼上自己的代碼,就像我貼在我的頁面(例如)的頂部谷歌分析代碼:如何覆蓋異步CSS?

    <script type="text/javascript"> 
        var _lfuid = 'xxxxxxxxxxxxx'; 
    
        (function (d) { 
         var w = d.createElement('script'); 
         w.type = 'text/javascript'; 
         w.asynch = true; 
         w.src = '//widget.website.come/widget/widget.js'; 
         var s = d.getElementsByTagName('script')[0]; 
         s.parentNode.insertBefore(w, s); 
        })(document); 
    </script> 
    

    但是,我從呼叫受理窗口小部件的位置,在CSS文件中,我得到的設置作爲迴應。所有類都有!important標記,因此我無法使用我在靜態文件中定義的css類來覆蓋它。

    我的問題是:如何覆蓋此ansych css?

    +0

    的CSS加載後,您可以與重要的規則的Javascript多了一個CSS樣式添加(!)。這將工作 – CastenettoA

    +0

    @CastenettoA,你可以告訴我如何加載後的示例中的函數調用css樣式? – uksz

    回答

    0

    你需要添加一個事件監聽器到異步腳本的加載中,並且在將你的CSS附加到HEAD之後!重要規則。 例

    var _lfuid = 'xxxxxxxxxxxxx'; 
    
    (function (d) { 
        var w = d.createElement('script'); 
        w.type = 'text/javascript'; 
        w.asynch = true; 
        w.src = '//widget.website.come/widget/widget.js'; 
        w.addEventListener('load', function (e) { 
         /* We wait the load of the async script and after we use jQuery to append our CSS to the HEAD of the document. 
          p.s.: you need jQuery to use the dollar sing selector ($) */ 
         $('head').append('<style> #yourCSSgoHere { display: none !important; }</style>'); 
        }, false); 
        var s = d.getElementsByTagName('script')[0]; 
        s.parentNode.insertBefore(w, s); 
    })(document); 
    
    相關問題