Как установить useragent в TWebbrowser на IOS Delphi - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь установить пользовательский агент через JS, но он не работает и UA не меняется.Кто-нибудь может дать мне рабочий раствор?

// js:= 'function setUserAgent(t,e){if(t.navigator.userAgent!=e){var r={get:function(){return e}};try{Object.defineProperty(t.navigator,"userAgent",r)}catch(n){t.navigator=Object.create(navigator,{userAgent:r})}}}; setUserAgent(window, '''+UA+''');';
    js:='Object.defineProperty(navigator, ''userAgent'', {get: function () { return "'+UA+'"; }});';

    WebBrowser.EvaluateJavaScript(js);

1 Ответ

0 голосов
/ 11 июня 2018
uses
  iOSapi.Foundation, Macapi.Helpers;

function StandardUserDefaults: NSUserDefaults;
begin
  Result := TNSUserDefaults.Wrap(TNSUserDefaults.OCClass.StandardUserDefaults);
end;

function StrToObjectID(const AStr: string): Pointer;
begin
  Result := NSObjectToID(StrToNSStr(AStr));
end;

procedure SetUserAgent;
var
  LUserAgentDict: Pointer;
begin
  LUserAgentDict := TNSDictionary.OCClass.dictionaryWithObject(StrToObjectID('Mozilla/Fake version 123.4.beta'), StrToObjectID('UserAgent'));
  StandardUserDefaults.registerDefaults(TNSDictionary.Wrap(LUserAgentDict));
end;

Измените значение для пользовательского агента, чтобы оно подходило

...