Каков наилучший способ динамической вставки файлов CSS на мой веб-сайт TMS WEB Core с помощью Delphi?
Я хочу загрузить определенный файл CSS в зависимости от темы (темная/светлая). Поэтому всякий раз, когда веб-сайт открывается, ему необходимо динамически загружать правильный файл CSS.
Как этого можно достичь?
Класс 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">
@AmigoJack Ах. Это была опечатка. Хорошо поймал. Спасибо. Я починил это.
Нет, это узел DOM, а не «код». Почему добавлен атрибут
id
? Почему вы используете произвольное ключевое слово дляrel
вместо , придерживаясь HTML и используя таблицу стилей ?