2011-01-06 4 views
0

내 MacOSX에는 검색을 위해 WebKit을 사용하는 특수 컨트롤러/창이있는 Cocoa 응용 프로그램이 있습니다. 방금 탐색 한 컨텐츠에 새 브라우저 창이 열리는 링크가 있음을 알았습니다. 내 webView에 대해 다음 두 가지 선언 (아래 참조)을 설정했지만, 특수한 창으로 링크를 클릭해도 아무런 변화가 없습니다. 일반 브라우저에서 해당 버튼을 클릭하면 다음과 같은 창이 열립니다.사용자 지정 WebKit 브라우저보기에서 새 브라우저 창 시작

[[_webView preferences] setJavaScriptEnabled:YES]; 
[[_webView preferences] setJavaScriptCanOpenWindowsAutomatically:YES]; 

콜백 구현이 누락 되었습니까?

답변

1

은 자신의 UI 위양 확인 :

[webView setUIDelegate:self]; 

을 그리고 webView:createWebViewWithRequest:를 구현합니다. 이 메서드는 새 WebView 개체와이를 표시 할 창을 만들고 반환해야합니다. 프로그래밍 방식으로 새보기를 만들지 않으려는 경우 NIB를 사용하여 대신로드 할 수 있습니다.

+0

나는 이것을 수행했으며 webView : createWebViewWithRequest 메소드를 호출한다. 그러나 "요청"은 항상 nil입니다. 사용자가 클릭 한 링크의 URL을 가로 챌 수 있습니까? – JasonGenX

+0

자바 스크립트를 사용하여 창을 여는 중입니까? 그렇다면 요청이 없을 수도 있습니다. 요청이 없으면로드 메시지를 보내지 않고 웹보기/창을 만드십시오. – ughoavgfhw

+0

이 질문은 오래된 질문이지만 여기에 도착한 사람들을위한 답변을 제공하고 싶습니다. 모든 window.open 호출은 null 요청과 함께 createWebViewWithRequest : 결과를 얻은 다음 나중에 해당 WebView에서 위치가 변경됩니다. –

관련 문제