parent.opener не работает в веб-просмотре Android

У меня проблема. Мне нужно вернуться к родительскому Url из фрейма, открытого в Android Webview.

Последовательность такова: Открыть внутри Webview нового кадра. Выберите в кадре опции и параметры. Вызовите функцию кадра javascript, например _"javascript:parent.opener.jsfunction"_. Родительский веб-сайт не открывается... У меня нет доступа к веб-сайту. Я работаю только на стороне Android.

Я тестирую Web в firefox для Android, и он работает.

Нужна помощь.


person Nacho    schedule 28.02.2013    source источник
comment
У вас есть правильные разрешения, настроенные в вашем манифесте Android? разрешение на доступ в интернет и т.д.   -  person Tyler MacDonell    schedule 28.02.2013
comment
Да, я часто работаю с веб-просмотрами, права доступа к манифестам правильные, я могу перемещаться по другим веб-сайтам.   -  person Nacho    schedule 28.02.2013


Ответы (1)


По умолчанию WebView не поддерживает несколько окон. Если вы проверите, я считаю, что поле parent на самом деле не установлено и не указывает на родительское окно (или вообще на что-либо). То же самое относится и к другим подобным полям, таким как opener и top.

Вы можете решить эту проблему, включив поддержку нескольких windows, а затем реализовать onCreateWindow в вашем WebChromeClient. Я думаю, что вам нужно сделать еще кое-что, но это было давно, и я не помню подробностей.

Один из способов, который я использовал в прошлом, — использовать setJavascriptInterface и просто установите имя parent или любое другое поле, которое вы хотите. При необходимости реализуйте соответствующие методы для вашего объекта Java. Это может немного запутать, но это работает.

person kabuko    schedule 28.02.2013
comment
Спасибо, наконец-то я нашел решение, обеспечивающее поддержку нескольких окон, а затем реализующее onCreateWindow в вашем WebChromeClient. После много тестовой работы это! - person Nacho; 01.03.2013
comment
Не могли бы вы поделиться тем, что вы сделали в onCreateWindow(), у меня возникла проблема с загрузкой изображения через webView, и я получил эту ошибку Uncaught TypeError: невозможно установить значение свойства null, источник: - person A. Albrg; 27.05.2020