Наличие JQuery UI Framework в TWebBrowser в Delphi - PullRequest
8 голосов
/ 12 мая 2009

Я работаю над приложением, многие элементы пользовательского интерфейса будут в TWebBrowser. Поэтому я решил добавить пользовательский интерфейс jQuery, чтобы мне было проще.

Мне удалось вставить файл JQuery и пользовательский интерфейс Javascript благодаря http://www.jasontpenny.com/blog/2008/11/21/jquery-in-a-twebbrowser-in-a-self-contained-delphi-app/

Я застрял в таблицах стилей, я сделал

  doc2 := Web.Document as IHTMLDocument2;
  doc2.createStyleSheet(FileProtocol(AppPath( 'templates\css\' + JQueryUITheme + '\jquery-ui-1.7.1.custom.css')), 0);
  // FileProtocol and AppPath are to return a current application path and converted to FileProtocol URL format.

Javascripts работал нормально, но я не смог заставить изображения работать. Я также пытался заменить все ссылки на изображения StringReplace, но безрезультатно.

 stylesheet.cssText := StringReplace(stylesheet.cssText,
    'url(images/','url(' + FileProtocol(AppPath('templates/css/' +
    JQueryUITheme + '/images/')), [rfReplaceAll]);

Кто-нибудь пробовал что-то подобное?

Ответы [ 3 ]

7 голосов
/ 13 мая 2009

Запуск быстрого теста, похоже, работает.

Вы уверены, что FileProtocol () и AppPath () работают так, как должны?

мне кажется, это работает:

function FileProtocol(const s: String): String;
begin
   Result := 'file:///' + StringReplace(s, '\', '/', [rfReplaceAll]); // '
end;

function AppPath(const s: String): String;
begin
   Result := IncludeTrailingPathDelimiter( ExtractFilePath(Forms.Application.ExeName) ) + s;
end;

[Update]

Я загрузил JQuery UI по ссылке для скачивания на главной странице [ Текущая (стабильная) ] и получил анимированное изображение с http://jqueryui.com/demos/progressbar/#animated

См. Демонстрационный проект на GitHub: http://github.com/jasonpenny/democode/tree/057f0ad22fc5c3272909de346b6e67b0444d8981/JQueryUIProgBar

1 голос
/ 12 мая 2009

Есть ли в вашем HTML тег <base href="" />? Так как похоже, что относительные пути являются бюстом.

0 голосов
/ 31 мая 2012

Посетите CGDevTools, у них есть набор компонентов jQuery для использования с Intraweb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...