Сценарий № - Как получить доступ к информации таблицы стилей документа?
В 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