[webkit-dev] Controlling the User-agent string from a WebKit client

Mark Rowe mrowe at apple.com
Mon Nov 19 08:20:38 PST 2007


On 20/11/2007, at 03:14, Todd Ditchendorf wrote:

> If you're building a cocoa application that links to WebKit and  
> includes a WebView in its UI, what's the best way to configure the  
> user-agent string the WebView uses in both outgoing HTTP request  
> headers and also the JS window.navigator.userAgent property?
>
> e.g., say you were building a web browser and wanted to spoof safari.
>
>
> for altering the "user-agent" request header, the only thing i an  
> come up with is to implement the ResourceLoadDelegate method:
>
> webView:resource:willSendRequest:redirectResponse:fromDataSource:
>
> and return from it a new request that contains the desired header.  
> this seems to work, but not sure if it's best?
>
>
> as for the JS navigator.userAgent property, it seems to be read-only  
> when i try to explicitly change it from:
>
> webView:didClearWindowObject:forFrame:
>
> I haven't found a way to change the JS property yet.
>
>
> seems like this might be a common need... is an ER for a method for  
> controlling the user-agent string in the WebKit client api in order?

http://developer.apple.com/documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html#/ 
/apple_ref/occ/instm/WebView/setCustomUserAgent:

Kind regards,

Mark Rowe



More information about the webkit-dev mailing list