Как я могу открыть iframe в приложении phonegap/cordova, работающем на IOS?
У меня есть webapp, который я использую с PhoneGap/Cordova для установки в iOS и Android. В какой-то момент в приложении у меня есть iframe, который загружает контент со второго сервера.
Когда я запускаю приложение из браузера, все работает так, как ожидалось - iframe открывается на одной странице и загружает контент со второго сайта.
Когда я запускаю webapp на симуляторе iPhone с помощью Cordova, когда открывается iframe, iOS переключается на Safari и помещает свое приложение в фоновый режим.
Сделанные шаги:
- Я добавил второй сайт в массив "ExternalHosts" в файле Cordova.plist.
- Я создал файл config.xml рядом с файлом index.html в каталоге /www, в соответствии с документацией PhoneGap/Cordova (https://build.phonegap.com/docs/config-xml).
- Я добавил символ < preference name= "stay-in-webview" value = "true" / > тег в файл config.xml как дочерний элемент основного <widget> тег.
Мое подозрение в том, что он не читает/не использует файл config.xml, но может быть что-то еще... У кого-нибудь есть идеи, что я могу делать неправильно?
Ответы
Ответ 1
После добавления InAppBrowser вместо iframe, который я использовал раньше, я в конечном итоге снова попробовал iframe, и iframe теперь работает, не перескакивая в браузер телефона, как это было раньше, и iframe работает последовательно в обоих iOS и Android.
2 вещи изменились с момента, когда iframes были сломаны, когда они начали работать:
- Я добрался до Кордовы 2.5
-
Я начал динамически создавать/добавлять iframe на страницу с помощью jquery, а не просто показывать уже существующий iframe, как я делал изначально:
$('< iframe src= "whatever.com" height = "100%" width = "100%" frameborder = "0" & gt; </iframe> '). appendTo ('body');
.
Я не стал проверять, было ли это №1 или №2 исправлено проблема iframe (я предполагаю, что это №1), но я думал, что опубликую, что можно получить iframes, работающий с PhoneGap/Приложение Кордовы, если кто-то другой столкнется с одной и той же проблемой.
Ответ 2
Почему вы не используете InAppBrowser? http://docs.phonegap.com/en/2.3.0/cordova_inappbrowser_inappbrowser.md.html. Будет сложно использовать iframes, который работает как в Android, так и в iOS
Ответ 3
То же самое теперь с iOS 8 не работает. Я получаю iFrame без прокрутки и переполнения на других div. Пробовал различные стили css, но никакого решения. Прекрасно работает в Android-приложениях.
Это использование последней сборки Phonegap.