TWebBrowser 구성 요소 (Delphi 7)가 있으며 메모리 스트림에서 HTML을로드했습니다. 페이지의 HTML 코드가 잘로드되어 페이지가 올바르게 표시됩니다. 그러나 "file : /// C : /dir/page.html"과 같은 주소 (href 속성 값)가있는 하이퍼 링크를 클릭하려고하면 아무 일도 일어나지 않습니다. 오류 메시지는 없으며 브라우저는 다른 페이지로 이동하지 않습니다. URL은 100 % 정확합니다. 동일한 웹 페이지를 동일한 TWebBrowser 인스턴스에로드 할 때 메모리 스트림 대신 하드 드라이브에있는 파일에서로드하면 정확하게이 링크가 정상적으로 작동합니다. 어떤 아이디어가 잘못되었을 수 있습니까? (그들은, 오류없이 제대로 즉, HRESULT = S_OK 모든 시간을 실행 된)Delphi TWebBrowser가 파일 하이퍼 링크 클릭에 응답하지 않습니다.
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_INTRANET, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_TRUSTED, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_INTERNET, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_UNTRUSTED, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_LOCAL_MACHINE, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_LOCAL_MACHINE, 'about:blank', SZM_CREATE));
을,하지만 그들은 아무 것도 변경하지 않은 :
나는 다음 문을 실행하기 위해 노력했다. TWebBrowser가 똑같은 방식으로 작동하지만 구성 요소가 실제로 TEmbeddedWB라고 (보안 관리자 속성이 있음) 말해야합니다. 단지 다시 검사했습니다.
임시 디렉토리에있는 파일을 사용하는 것에 대해 생각합니다.
덕분에 임시적으로 파일을 사용하여 문제를 해결했습니다. 귀하의 질문에
: 여기
그것에 대해 약간의 눈물을 흘리며 기사입니다 //'링크 ? –방금 시도했습니다. "http : //"프로토콜을 사용하는 링크가 작동합니다. "file : //"과 연결된 것은 그렇지 않습니다. – GreyWolf
"file : ///"링크를 클릭해도 아무런 변화가없는 것처럼 보입니다. 내가 정의한 모든 이벤트 핸들러를 검사했는데 그 중 아무 것도 호출되지 않습니다. – GreyWolf