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

Todd Ditchendorf todd at ditchnet.org
Mon Nov 19 08:14:24 PST 2007


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?

thanks,
todd


More information about the webkit-dev mailing list