2014-01-28 2 views
1

iOS 용 웹 브라우저를 구축했으며 주소 표시 줄에 표시 할 URL을 가져 오려고합니다.
webView:shouldStartLoadWithRequest:navigationType:webViewDidFinishLoad:UIWebView 대표 메서드에서 NSURLRequest을 봅니다.NSURLRequest의 mainDocumentURL과 URL 속성의 차이점은 무엇입니까?

그 목적으로 URL 또는 mainDocumentURL 속성 인 NSURLRequest을 사용해야하나요? 그 차이점은 무엇입니까?

답변

1

설명서가 명확하지 않지만 쿠키 정책 내부에 mainDocumentURL이 사용 된 것으로 보입니다.

알고있는 경우 mainDocumentURL

최상위 프레임의 주요 HTML 문서의 URL,

NSHTTPCookieStorage Class Reference > setCookies:forURL:mainDocumentURL:에서. 없어도 될 수 있습니다. 이 URL은 쿠키 허용 정책이 NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain 인 경우 쿠키가 허용되어야하는지 여부를 결정하는 데 사용됩니다.

사용중인 URL이 HTML 프레임에 포함 된 하위 프레임 또는 일부 미디어 유형 일 수있는 경우 mainDocumentURL이 무엇인지 알고 싶을 수 있습니다. 그렇지 않으면 URL 만 사용하십시오.

3

URL을 사용하려고합니다.

mainDocumentURL은 페이지의 하위 부분 (이미지, 스크립트 등)을로드하여 해당 하위 파트를로드 할 때 안전하게 사용할 수있는 쿠키를 시스템에 알릴 때 사용됩니다. 아무 것도 표시하고 싶지 않으며 현재 버전의 프레임 워크에서 사용되지 않는 것으로 문서화됩니다.

/*! 
    @method mainDocumentURL 
    @abstract The main document URL associated with this load. 
    @discussion This URL is used for the cookie "same domain as main 
    document" policy. There may also be other future uses. 
    See setMainDocumentURL: 
    NOTE: In the current implementation, this value is unused by the 
    framework. A fully functional version of this method will be available 
    in the future. 
    @result The main document URL. 
*/ 
+0

설명서에 사용되지 않았다고 쓰여있는 곳은 어디입니까? URL을 설정하지 않은 상태에서 mainDocumentURL이 webView : shouldStartLoadWithRequest : navigationType : delegate 메소드에 설정되어있는 것처럼 보입니다. – Austin

+0

로드 할 URL이 없어도 NSURLRequest가로드하는 방법이 명확하지 않지만이 영역에서는 전문가가 아닙니다. –

+0

URL 대신 mainDocumentURL을 사용하는 것이 좋습니다. 사실 URL은 UIWebView가 현재 표시하고있는 사이트의 하위 부분을 참조 할 수 있습니다. – Joss

관련 문제