Как динамически загрузить файл CSS на основной веб-сайт TMS WEB с помощью Delphi?

Каков наилучший способ динамической вставки файлов CSS на мой веб-сайт TMS WEB Core с помощью Delphi?

Я хочу загрузить определенный файл CSS в зависимости от темы (темная/светлая). Поэтому всякий раз, когда веб-сайт открывается, ему необходимо динамически загружать правильный файл CSS.

Как этого можно достичь?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
0
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Класс TApplication имеет функции InsertCSS и RemoveCSS, которые можно использовать для этого.

В качестве примера предположим, что я хочу динамически загружать Bootstrap в свое приложение одним нажатием кнопки. Я мог бы сделать это:

procedure TfrmMain.WebButton1Click(Sender: TObject);
begin
  Application.InsertCSS('MyCSS', 'https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css');
end;

Вы также можете сделать это непосредственно в файле .dpr, например:

program TestApp;

{$R *.dres}

uses
  Vcl.Forms,
  WEBLib.Forms,
  uIndex in 'uIndex.pas' {frmMain: TWebForm} {*.html};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfrmMain, frmMain);

  Application.InsertCSS('MyCSS', 'https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css');

  Application.Run;
end.

Выполнение приведенных выше примеров приведет к вставке следующей строки кода в тег <head> на вашей странице:

<link id = "MyCSS" rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">

Нет, это узел DOM, а не «код». Почему добавлен атрибут id? Почему вы используете произвольное ключевое слово для rel вместо , придерживаясь HTML и используя таблицу стилей ?

AmigoJack 22.03.2024 16:57

@AmigoJack Ах. Это была опечатка. Хорошо поймал. Спасибо. Я починил это.

Shaun Roselt 22.03.2024 17:24

Другие вопросы по теме