Перейти к содержанию
Fire Monkey от А до Я
  • 0

WebView и TWebBrowser


A_l_ex

Вопрос

Уважаемые форумчане, искал на форуме, но возможно не нашел что-то похожее по своему вопросу ... 

Нужна возможность использовать жесты в TWebBrowser. Стандартные жесты в FMX как я понял не работают, TWebBrowser очевидно благополучно игнорирует их.

Читая API на developer.apple.com нашел то что нужно setAllowsBackForwardNavigationGestures. Данное действо доступно в модуле iOSapi.WebKit. 

Как заставить TWebBrowser на форме выполнять это требование? 

В попытках найти решение пытался выполнить такое извращение, явно осознавая что это не совсем то что нужно: 

Спойлер

 


uses 

FMX.Helpers.iOS, FMX.WebBrowser.Delegate.iOS, iOSapi.WebKit, Macapi.Helpers,
  iOSapi.Foundation

...

procedure TForm1.FormCreate(Sender: TObject);
var WebView: WKWebView;
    NSU: NSURL;
    myRequest: NSURLRequest;
begin
  WebView := TNativeWebViewHelper.CreateAndInitWebView.setAllowsBackForwardNavigationGestures();
  NSU := TNSURL.Wrap(TNSURL.OCClass.URLWithString(StrToNSStr('https://www.google.ru')));
  myRequest.initWithURL(NSU);
  WebView.loadRequest(myRequest);
end;

 

На форуме нашел такой запрос но он за 2014 год и проблема в том что мне нужно не создавать свой WebView а попытаться заставить родной TWebBrowser делать это. Но если это не возможно то прошу подсказать как воткнуть на форму свой WebView.

Читал что есть возможность использовать Deligate но как именно это делать, пока не понятно.

Буду рад любым вариантам!

P.S. Забыл упомянуть. Студия разработки RAD Studio 10.4.2 Sydney. Аппаратура MacBook Pro 13 Big Sur 11.2.3 + XCode 12.5 + Apple iPhone 11(14.5).

Изменено пользователем A_l_ex
Добавление описание инструментов
Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Похожий контент

    • Автор slav_z
      для GPU (Android и iOS) неверно работает установка цвета при следующих условиях: Rectangle.Fill.Color:=$3CF865F7 и Rectangle.Opacity=0.5 (одновременно установить цвет элемента с альфа-каналом < $FF и прозрачностью элемента < 1).
      Это может понадобиться, к примеру, для анимации "исчезающего" элемента. Ошибке много лет... исправляется внесением изменений в исходный код модуля FMX.Canvas.GPU.pas (необходимо скопировать модуль FMX.Canvas.GPU.pas к себе в проект и внести изменения ).
      Оригинальный код:

      Исправленный код:

    • Автор slav_z
      Все разработчики при работе с FMX рано или поздно сталкиваются с одной и той же проблемой: необходимо исключить "случайное" срабатывание нажатий элементов внутри скроллбокса во время его скроллинга. Идут годы, а решения так и нет. Давайте попробуем это исправить. Поехали!
      Запускаем IDE, создаем новый проект, кидаем на форму TVertScrollBox и на него чего-нибудь побольше... запускаем на мобильном устройстве, пытаемся скроллировать,

      получаем проблемы в виде срабатывания разных событий типа OnClick элементов.
      Решение состоит в том, чтобы сделать элементы "невидимыми" для событий связанных с действиями пользователя с экраном во время скроллинга.
      Делаем следующее:

      Все. Переносим код в базовую форму, делаем его более гибким, убираем все те костыли, которые мы уже успели сделать ранее...
      Удачи!
      https://github.com/slav-libx/scroll-click.git
    • Автор Yarpda
      Добрый день всем!
      Стоит задача сделать информационный киоск (управлений только через тачскрин) под управлением Windows. Фактически нужно на экран вывести сайт компании, но проблема в том что управление должно быть таким же как в мобильных устройствах.
      Т.е. реакция на касание как Pan (прокрутка). Если же собирать проект под винду, то при нажатии на экран и движении пальца прокрутка страницы в браузере не происходит, а происходит выделение текста на станице, а нужно максимально сделать как на мобильных платформах. Посмотрел настройки TWebBrowser и на VCL и на FMX, но ничего похоже не нашел, чтобы позволило так сделать. Если у кого-то была такая практика, или хотя бы знаете как это можно реализовать (желательно наиболее просто), прошу подсказки.
    • Автор Martifan
      Привет,
      подскажите как можно реализовать авторизацию с помощью Apple ID? любые идеи.
      заранее спасибо
    • Автор Eric Myval
      Добрый день! Я собрал приложение и подготовил IPA файл, заполнил всю информацию, прикрепил все иконки. Когда загружаю приложение в App Store Connect и пытаюсь отправить на проверку, мне выдают следую ошибку:
      В каталог объектов Xcode необходимо добавить значок приложения с разрешение 1024х1024.
      Как это сделать? Уже всю голову сломал... 
       
      Использую Rad Studio 10.3.3 + PAServer 20 + самый свежий Xcode и последняя обнова на маке
      Пробовал и Rad Studio 10.4 + PAServer 21, аналогичная проблема
      Остальные ошибки не важны, их решить легко. Интересен только последний пункт. 

    • Автор Igor Aleksiyuk
      У кого нибудь вышло это сделать
    • Автор Martifan
      здравствуйте, я пытаюсь сделать push уведомление на iOS делаю следующим образом:
      unit Unit1; interface uses   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,   System.PushNotification, FMX.Controls.Presentation, FMX.StdCtrls,   FMX.PushNotification.iOS, FMX.ScrollBox, FMX.Memo; type   TForm1 = class(TForm)     Button1: TButton;     Memo1: TMemo;     procedure Button1Click(Sender: TObject);   private     { Private declarations }     FDeviceID: string;     FDeviceToken: string;     FPushService: TPushService;     FPushServiceConnection: TPushServiceConnection;     procedure OnReceiveNotificationEvent(Sender: TObject;        const ANotification: TPushServiceNotification);     procedure OnServiceConnectionChange(Sender: TObject;        AChange: TPushService.TChanges);   public     { Public declarations }   end; var   Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin   FPushService := Nil;   FPushServiceConnection := Nil;   FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS);   if Assigned(FPushService) then     begin       FPushServiceConnection := TPushServiceConnection.Create(FPushService);       FPushServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;       FPushServiceConnection.OnChange := OnServiceConnectionChange;       FPushServiceConnection.Active := True;     end else     Begin       ShowMessage('False');     End; end; procedure TForm1.OnReceiveNotificationEvent(Sender: TObject;   const ANotification: TPushServiceNotification); begin //  ShowMessage('OnReceiveNotificationEvent'); end; procedure TForm1.OnServiceConnectionChange(Sender: TObject;   AChange: TPushService.TChanges); begin   Memo1.Lines.Clear;   if (TPushService.TChange.DeviceToken in AChange) and        Assigned(FPushServiceConnection) then      begin        FDeviceID := FPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];        FDeviceToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];        // save token and ID to  remote db here        Memo1.Lines.Add('DeviceID: '+FDeviceID);        Memo1.Lines.Add('DeviceToken: '+FDeviceToken);      end; end; end. все проходит нормально но получаю значение FDeviceID а значение FDeviceToken пустой все сертификаты установлены правильно и соответственно указана все правильно как я говорил перемен FDeviceID получает значение а
      FDeviceToken возвращается пустым на форумах тоже видел такую проблему но может кто то решал эту проблему?
      поделитесь пожалуйста
      заранее спасибо 
    • Автор Эрик Шакиров
      Подскажите пожалуйста, возможно ли сделать выбор файла в IOS. Например, также как в Android 
    • Автор Eric Myval
      Сегодня начал разбираться с компиляцией под Mac и под iOS и сразу столкнулся с проблемами. Использую Rad Studio 10.3.3, Mac Mini 10.15.1, Windows 10. PAServer20.0, Xcode 11.2.1 Выдает следующую ошибку на всех платформах, как iOS, так и iOS Simulator, macOS32 - 
      Unable to launch process on '192.168.8.182' using the parameters from the 'MacMini' profile. The following error was returned: 'Unable to create process: /Applications/PAServer-20.0.app/Contents/MacOS/dbkosx_26_0 Получается собрать проект только в macOS64, но! Приложения запускаются, работают, но после их закрытия в отладке, пишет, что ПО устаревшие и кидает ссылку на переход с 32 на 64. Но как так? Оно же собрано на 64х))) В общем, полный тупик и убил весь день. Есть идеи? 
    • Автор Сергей Сергеев
      Обнаружил глюк, как исправить - не нашел, по вот этому обсуждению на Embe - похоже он с 15 года..
      https://forums.embarcadero.com/thread.jspa?threadID=116534
      Выглядит так, взял из примера WebBrowser, прописал в дизайне адрес, к примеру Яндекс,
      и запускаю на Ифоне 5 - нажимаю Гоу, при клике на любой ссылке ( например на большой надписи Яндекс в центре), вдруг откдуда не возьмись - появляется клава - английская,
       
       
       
      которая Done, ничего никуда не вводит, и не прячется от слова Никак ( с экрана)
      дальше - тапаем в поле ввода поиска, вылазит похоже еще одна, уже похоже ФМХ клава - со словом Готово, которая работает..
      переключается и по готово - прячется.
       
       
       
       
      но после того как Готово спряталась - эта ( от Сафари чтоли ) остается, по Доне не скрывается, и при кликах по ссылкам - прячется и опять вылазит..
       
      сделал то что написано в обсуждении, но это прячется только второй ( Доне)ТулБар - клавы две так и висят..
      Ничего по теме не нашел, похоже глюк старый, и возможно уже решенный..
      пс.  клавиатуры не две все таки, два тул бара, повесил на он хайд, он Шоу обработчики, происходит следующее, по Готово - прячется клава и сразу опять показывается уже без "готово" - с "доне".. она же сразу показывается при клике по ссылке..
       
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...