В моем приложении есть WebView, в котором открыт какой-то сайт (всегда один и тот же, это моя собственная страница). На сайте есть код JS, который загружает некоторые изображения с удаленного хоста.
Я хочу перехватывать запросы к таким изображениям (по шаблону URL) и возвращать свой собственный контент (то есть другое изображение) или оставлять запрос нетронутым в зависимости от внутреннего логика приложения.
Возможно ли это?
РЕДАКТИРОВАТЬ : Текущее состояние вопроса ...
WebView
имеет возможность установить WebViewClient
(как отмечает Axarydax). WebViewClient
имеет два полезных метода
shouldOverrideUrlLoading
onLoadResource
shouldOverrideUrlLoading
может перехватывать любую загрузку URL, если загрузка инициируется взаимодействием со страницей (т. Е. Нажата ссылка на странице, WebView.loadURL ("") не запускает этот метод). Он также может отменить загрузку URL-адреса, вернув false. Этот подход неприменим, потому что «он не может перехватить загрузку ресурсов страницы (а изображения, которые мне нужно перехватить, являются такими ресурсами страницы).
onLoadResource
запускается каждый раз, когда этот ресурс страницы (и изображения! thx to jessyjones) загружаются, но отменить это невозможно. Это также делает этот метод не подходящим для моей задачи.
Он должен переключать вкладки при получении ctrl + tab.
Но событие keypressed никогда не отправляется. Я попытался добавить его на панель и в ...
Я пытаюсь добавить ключевой слушатель, который содержит JTabbedPane
.
Он должен переключать вкладки при получении Ctrl + Tab.
Но событие нажатия клавиш никогда не отправляется
Я попытался добавить его на панель и на объект с вкладками, но безуспешно.
Вот мой код
SwitchTabsListener ctrlTabListener = new SwitchTabsListener(genericTabbedPanel);
jMainFrame.addKeyListener(ctrlTabListener);
genericTabbedPanel.addKeyListener(ctrlTabListener);