Сценарий № - Как получить доступ к информации таблицы стилей документа?

В Javascript я могу получить доступ к информации таблицы стилей страницы с помощью следующей команды

Пример: document.styleSheets.length

Однако в Script# я не могу сделать тот же вызов (или похожий), то есть нет свойства для таблицы стилей в Document.

Q: Как я могу получить доступ к информации таблицы стилей документа в Script Sharp?

заранее спасибо

  • Рори

2 ответа

Решение

Вы имеете в виду, что вы не видите StyleSheets в списке intellisense после ввода "Документ".? Это не значит, что вы не можете заставить его работать, так как Script# только для того, чтобы испускать JavaScript.

Если вы не хотите сами добавлять его в Script# (на gitHub), вам, вероятно, потребуется добавить скрипт с помощью Script.Literal.

Я бы не использовал Script.Literal. Вы получите кучу не поддерживаемого кода. Весь смысл того, что вы, скорее всего, используете Script#, - это строгая типизация и упрощение рефакторинга и сопровождения кода. Ввод магических строк в Script.Literal идет вразрез с нашим принципом, облегчающим поддержку кода. Если что-то не поддерживается в встроенных библиотеках script#, то, как другие предложили, вы можете перейти на github. У вас также есть возможность просто расширить существующий класс или создать свой собственный.

В вашем случае просто создайте пару новых классов Script#. Ключ должен использовать Импортированный Атрибут.

[Imported]//keeps us from defining a javascript class in our emitted js library.
[ScriptName("document")]
public static class Html5Document
{

    public static StyleSheet[] StyleSheets//becomes styleSheets when emitted.
    {
        get 
        {
            return null;
        }
        set
        {
        }
    }
}

[Imported]
public static class StyleSheet
{

   //Add whatever property and methods you will need.
}

Теперь в вашем коде # кода вы можете написать:

Html5Document.StyleSheets.Length();//c#

Ваш испущенный код JavaScript будет.

document.styleSheets.length;//javascript
Другие вопросы по тегам