簡體   English   中英

HTML“鏈接”(樣式表)已禁用屬性

[英]HTML “link” (stylesheet) disabled attribute

我正在使用JavaScript來啟用/禁用樣式表,使用以下內容:

document.styleSheets[0].disabled = true|false;

這個JS工作正常,但我希望默認情況下樣式表是DISabled。 雖然我可以使用上面的JS在頁面加載時立即禁用樣式表,但這顯然不適用於關閉JavaScript的用戶。

我試過這樣做:

<link rel="stylesheet" href="style.css" disabled />

雖然這會禁用樣式表,但JavaScript(或者至少我正在使用的方法)無法再次使用它。 我還在“禁用”屬性上嘗試了所有這些變體: disabled="disabled"disabled="true"disabled=true ,但這些產生同樣的問題 - 我無法再使用JavaScript啟用它們。

簡而言之,我需要一種使用JavaScript啟用/禁用外部樣式表的方法,但默認情況下禁用該樣式表但不依賴於JavaScript。

任何幫助將不勝感激。 謝謝。

注意這種效果可以通過使用兩個樣式表來實現,第二個覆蓋第一個樣式表,因此不需要“禁用”屬性。 但是,如果可能的話,顯然最好只使用一個樣式表,因此我的問題就在上面。

您可以使用JavaScript的removeAttribute方法。

<html>
    <head>
        <link id="first_style" rel="stylesheet" href="#" disabled />

        <script type="text/javascript">
            window.onload = function()
            {
                document.getElementById('first_style').removeAttribute('disabled');
            }
        </script>
    </head>
    <body>
        <p>something</p>
    </body>
</html>

為什么不解決問題:如果啟用了JavaScript,只加載CSS?

這個例子中 ,你可以使用類似的東西:

var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)

我想在這種情況下你可能不得不依賴JavaScript。

如果您認為如果需要更多地提供樣式表而不是默認禁用,那么您應該指出它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM