HTML" ссылка " (таблица стилей) отключенный атрибут

Я использую JavaScript для включения / выключения таблиц стилей, используя следующее:

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

этот JS работает нормально, однако я хотел бы, чтобы таблица стилей была отключена по умолчанию. Хотя я мог бы использовать JS выше, чтобы немедленно отключить таблицу стилей при загрузке страницы, это, очевидно, не будет работать для пользователей, у которых отключен JavaScript.

Я пробовал сделать это:

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

в то время как это отключает таблицу стилей, JavaScript (или, по крайней мере, метод, который я using) не может включить его снова. Я также пробовал все эти варианты атрибута" disabled":disabled="disabled", disabled="true" и disabled=true, но они создают ту же проблему - я не могу включить их снова с помощью JavaScript.

короче говоря, мне нужен способ включить / отключить внешнюю таблицу стилей с помощью JavaScript, но по умолчанию эта таблица стилей отключена, но не полагается на JavaScript.

любая помощь была бы весьма признательна. Спасибо.

N. B. Этот эффект может быть достигается за счет использования двух таблиц стилей, вторая перезаписывает первую, поэтому нет необходимости в атрибуте "disabled". Однако, очевидно, предпочтительнее использовать только одну таблицу стилей, если это возможно, поэтому мой вопрос выше.

3 ответов


для этого можно использовать метод removeAttribute JavaScript.

<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>

почему бы не повернуть проблему вокруг : только загрузить CSS, если JavaScript включен?

принято от , вы можете использовать что-то вроде:

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

Я думаю, в этом случае вам, возможно, придется полагаться на JavaScript.

Если вы думаете, что больше вниз по линии обслуживания таблицы стилей, если это необходимо, а не отключение по умолчанию, вы должны прибить его.