2009-05-12 1 views
8

응용 프로그램에서 작업 할 때 많은 UI 요소가 TWebBrowser에 있습니다. 그래서 jQuery UI를 추가하여 쉽게 사용할 수 있다고 생각했습니다. Delphi의 TWebBrowser에서 jQuery UI 프레임 워크를 사용하는 경우

은 내가

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. 

Javascript를 잘 실행했다, 나는 스타일 시트에 붙어 http://www.jasontpenny.com/blog/2008/11/21/jquery-in-a-twebbrowser-in-a-self-contained-delphi-app/

에 JQuery와 및 UI 자바 스크립트 파일 덕분에 삽입 할 수 있었다, 그러나 나는없는의 이미지를 얻을 수 작업. 나는 또한 모든 이미지 레퍼런스를 StringReplace하려고했지만 결과는 없다.

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

누구나 비슷한 것을 시도 했습니까?

답변

7

빠른 테스트를 실행하면 효과가있는 것 같습니다.

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; 

[업데이트] 내가 홈페이지 다운로드 링크 [Current (stable)]에서 JQuery와 UI를 다운로드하고 http://jqueryui.com/demos/progressbar/#animated

에서 애니메이션 이미지를 가지고

:

나를 위해 작동하는 것

GitHub의 데모 프로젝트보기 : http://github.com/jasonpenny/democode/tree/057f0ad22fc5c3272909de346b6e67b0444d8981/JQueryUIProgBar

+0

이상하게도 이미지를 표시 할 수 없습니다. 델파이 앱에서 $(). progressbar 함수를 호출하면 div 상자의 색상 만 변경할 수 있지만 progressbar 이미지는 볼 수 없습니다. 어떻게 스타일 시트를 삽입 했습니까? createStyleSheet가 맞습니까? – Darkerstar

+0

내 데모에서 순서가 중요하다는 것을 알았습니다. 나중에 스타일 시트 (createStyleSheet()의 두 번째 매개 변수)에 배경 이미지 스타일을 추가해야했습니다. – jasonpenny

+0

버튼의 그래픽이 기존 코드와 잘 작동하고 있습니다. :) 왜 진행률 표시 줄이 작동하지 않는지 확실하지 않습니다. 어쨌든, 지금은 잘 작동하는 또 다른 progressbar 플러그인을 사용했습니다. – Darkerstar

1

HTML에 <base href="" /> 태그가 있습니까? 상대 경로처럼 보이기 때문에 흉상입니다.

-1

CGDevTools를 방문하면 Intraweb과 함께 사용할 jQuery 구성 요소 세트가 있습니다.

관련 문제