# cordova-plugin-inappbrowser Этот плагин обеспечивает представление веб-браузера, что показывает при вызове`window.open()`. var ref = window.open('http://apache.org', '_blank', 'location=yes'); **Примечание**: InAppBrowser окно ведет себя как стандартный веб-браузер и не может доступ API Cordova. ## Установка cordova plugin add cordova-plugin-inappbrowser ## window.open Открывает URL-адрес в новом `InAppBrowser` например, текущий экземпляр браузера или браузера системы. var ref = window.open(url, target, options); * **ссылка**: ссылка для `InAppBrowser` окно. *(InAppBrowser)* * **URL**: URL-адрес для загрузки *(String)*. Вызвать `encodeURI()` на это, если URL-адрес содержит символы Unicode. * **Цель**: цель для загрузки URL-адреса, необязательный параметр, по умолчанию `_self` . *(Строка)* * `_self`: Открывается в Cordova WebView, если URL-адрес в белый список, в противном случае он открывается в`InAppBrowser`. * `_blank`: Открывает в`InAppBrowser`. * `_system`: Открывается в веб-браузера системы. * **опции**: параметры для `InAppBrowser` . Необязательный параметр, виновная в: `location=yes` . *(Строка)* `options`Строка не должна содержать каких-либо пустое пространство, и каждая функция пар имя/значение должны быть разделены запятой. Функция имена нечувствительны к регистру. Все платформы поддерживают исходное значение: * **Расположение**: равным `yes` или `no` превратить `InAppBrowser` в адресную строку или выключить. Только андроид: * **closebuttoncaption**: задайте строку для использования в качестве заголовка кнопки **сделали** . * **скрытые**: значение `yes` для создания браузера и загрузки страницы, но не показать его. Событие loadstop возникает, когда загрузка завершена. Опустить или набор `no` (по умолчанию), чтобы браузер открыть и загрузить нормально. * **ClearCache**: набор `yes` иметь браузера куки кэш очищен перед открытием нового окна * **clearsessioncache**: значение `yes` иметь кэш cookie сеанса очищается перед открытием нового окна только iOS: * **closebuttoncaption**: задайте строку для использования в качестве заголовка кнопки **сделали** . Обратите внимание, что вам нужно самостоятельно локализовать это значение. * **disallowoverscroll**: значение `yes` или `no` (по умолчанию `no` ). Включает/отключает свойство UIWebViewBounce. * **скрытые**: значение `yes` для создания браузера и загрузки страницы, но не показать его. Событие loadstop возникает, когда загрузка завершена. Опустить или набор `no` (по умолчанию), чтобы браузер открыть и загрузить нормально. * **ClearCache**: набор `yes` иметь браузера куки кэш очищен перед открытием нового окна * **clearsessioncache**: значение `yes` иметь кэш cookie сеанса очищается перед открытием нового окна * **панели инструментов**: набор `yes` или `no` для включения панели инструментов или выключить InAppBrowser (по умолчанию`yes`) * **enableViewportScale**: значение `yes` или `no` для предотвращения просмотра, масштабирования через тег meta (по умолчанию`no`). * **mediaPlaybackRequiresUserAction**: значение `yes` или `no` для предотвращения HTML5 аудио или видео от Автовоспроизведение (по умолчанию`no`). * **allowInlineMediaPlayback**: значение `yes` или `no` чтобы разрешить воспроизведение мультимедиа HTML5 в строки, отображения в окне браузера, а не конкретного устройства воспроизведения интерфейс. HTML `video` элемент должен также включать `webkit-playsinline` атрибут (по умолчанию`no`) * **keyboardDisplayRequiresUserAction**: значение `yes` или `no` чтобы открыть клавиатуру, когда формы элементы получают фокус через JavaScript в `focus()` вызов (по умолчанию`yes`). * **suppressesIncrementalRendering**: значение `yes` или `no` ждать, пока все новое содержание представление получено до визуализации (по умолчанию`no`). * **presentationstyle**: набор `pagesheet` , `formsheet` или `fullscreen` чтобы задать [стиль презентации][1] (по умолчанию`fullscreen`). * **transitionstyle**: набор `fliphorizontal` , `crossdissolve` или `coververtical` чтобы задать [стиль перехода][2] (по умолчанию`coververtical`). * **toolbarposition**: значение `top` или `bottom` (по умолчанию `bottom` ). Вызывает панели инструментов, чтобы быть в верхней или нижней части окна. Windows только: * **скрытые**: значение `yes` для создания браузера и загрузки страницы, но не показать его. Событие loadstop возникает, когда загрузка завершена. Опустить или набор `no` (по умолчанию), чтобы браузер открыть и загрузить нормально. [1]: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/UIViewController/modalPresentationStyle [2]: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/UIViewController/modalTransitionStyle ### Поддерживаемые платформы * Amazon Fire OS * Android * BlackBerry 10 * Firefox OS * iOS * Windows 8 и 8.1 * Windows Phone 7 и 8 ### Пример var ref = window.open('http://apache.org', '_blank', 'location=yes'); var ref2 = window.open(encodeURI('http://ja.m.wikipedia.org/wiki/ハングル'), '_blank', 'location=yes'); ### Особенности Firefox OS Как плагин не применять любой дизайн есть необходимость добавить некоторые правила CSS, если открыт с `target='_blank'` . Правила может выглядеть как эти css .inAppBrowserWrap { background-color: rgba(0,0,0,0.75); color: rgba(235,235,235,1.0); } .inAppBrowserWrap menu { overflow: auto; list-style-type: none; padding-left: 0; } .inAppBrowserWrap menu li { font-size: 25px; height: 25px; float: left; margin: 0 10px; padding: 3px 10px; text-decoration: none; color: #ccc; display: block; background: rgba(30,30,30,0.50); } .inAppBrowserWrap menu li.disabled { color: #777; } ## Внутренний браузер Объект, возвращаемый из вызова`window.open`. ### Методы * addEventListener * removeEventListener * close * show * executeScript * insertCSS ## addEventListener > Добавляет прослушиватель для события от`InAppBrowser`. ref.addEventListener(eventname, callback); * **ссылка**: ссылка для `InAppBrowser` окно *(InAppBrowser)* * **EventName**: событие для прослушивания *(String)* * **loadstart**: событие возникает, когда `InAppBrowser` начинает для загрузки URL-адреса. * **loadstop**: событие возникает, когда `InAppBrowser` завершит загрузку URL-адреса. * **loaderror**: событие возникает, когда `InAppBrowser` обнаруживает ошибку при загрузке URL-адреса. * **выход**: возникает событие, когда `InAppBrowser` окно закрыто. * **обратного вызова**: функция, которая выполняется, когда возникает событие. Функция передается `InAppBrowserEvent` объект в качестве параметра. ### InAppBrowserEvent свойства * **тип**: eventname, либо `loadstart` , `loadstop` , `loaderror` , или `exit` . *(Строка)* * **URL**: URL-адрес, который был загружен. *(Строка)* * **код**: код ошибки, только в случае `loaderror` . *(Число)* * **сообщение**: сообщение об ошибке, только в случае `loaderror` . *(Строка)* ### Поддерживаемые платформы * Amazon Fire OS * Android * iOS * Windows 8 и 8.1 * Windows Phone 7 и 8 ### Краткий пример var ref = window.open('http://apache.org', '_blank', 'location=yes'); ref.addEventListener('loadstart', function(event) { alert(event.url); }); ## метод removeEventListener > Удаляет прослушиватель для события от`InAppBrowser`. ref.removeEventListener(eventname, callback); * **ссылка**: ссылка для `InAppBrowser` окно. *(InAppBrowser)* * **EventName**: событие прекратить прослушивание. *(Строка)* * **loadstart**: событие возникает, когда `InAppBrowser` начинает для загрузки URL-адреса. * **loadstop**: событие возникает, когда `InAppBrowser` завершит загрузку URL-адреса. * **loaderror**: событие возникает, когда `InAppBrowser` обнаруживает ошибку загрузки URL-адреса. * **выход**: возникает событие, когда `InAppBrowser` окно закрывается. * **обратного вызова**: функция, выполняемая когда это событие наступает. Функция передается `InAppBrowserEvent` объект. ### Поддерживаемые платформы * Amazon Fire OS * Android * iOS * Windows 8 и 8.1 * Windows Phone 7 и 8 ### Краткий пример var ref = window.open('http://apache.org', '_blank', 'location=yes'); var myCallback = function(event) { alert(event.url); } ref.addEventListener('loadstart', myCallback); ref.removeEventListener('loadstart', myCallback); ## close > Закрывает `InAppBrowser` окно. Ref.Close(); * **ссылка**: ссылка на `InAppBrowser` окно *(InAppBrowser)* ### Поддерживаемые платформы * Amazon Fire OS * Android * Firefox OS * iOS * Windows 8 и 8.1 * Windows Phone 7 и 8 ### Краткий пример var ref = window.open('http://apache.org', '_blank', 'location=yes'); ref.close(); ## show > Отображается окно InAppBrowser, был открыт скрытые. Вызов это не имеет эффекта при InAppBrowser уже был виден. Ref.Show(); * **ссылка**: ссылка на окно (InAppBrowser`InAppBrowser`) ### Поддерживаемые платформы * Amazon Fire OS * Android * iOS * Windows 8 и 8.1 ### Краткий пример var ref = window.open('http://apache.org', '_blank', 'hidden=yes'); // some time later... ref.show(); ## executeScript > Вставляет код JavaScript в `InAppBrowser` окно ref.executeScript(details, callback); * **ссылка**: ссылка на `InAppBrowser` окно. *(InAppBrowser)* * **injectDetails**: подробности сценария для запуска, указав либо `file` или `code` ключ. *(Объект)* * **файл**: URL-адрес сценария вставки. * **код**: текст сценария для вставки. * **обратного вызова**: функция, которая выполняет после вводят JavaScript-код. * Если введенный скрипт имеет тип `code` , обратный вызов выполняется с одним параметром, который является возвращаемое значение сценария, завернутые в `Array` . Для многострочных сценариев это возвращаемое значение последнего оператора, или последнее вычисленное выражение. ### Поддерживаемые платформы * Amazon Fire OS * Android * iOS * Windows 8 и 8.1 ### Краткий пример var ref = window.open('http://apache.org', '_blank', 'location=yes'); ref.addEventListener('loadstop', function() { ref.executeScript({file: "myscript.js"}); }); ## insertCSS > Внедряет CSS в `InAppBrowser` окно. ref.insertCSS(details, callback); * **ссылка**: ссылка на `InAppBrowser` окно *(InAppBrowser)* * **injectDetails**: детали сценария для запуска, указав либо `file` или `code` ключ. *(Объект)* * **файл**: URL-адрес таблицы стилей для вставки. * **код**: текст таблицы стилей для вставки. * **обратного вызова**: функция, которая выполняет после вводят CSS. ### Поддерживаемые платформы * Amazon Fire OS * Android * iOS ### Краткий пример var ref = window.open('http://apache.org', '_blank', 'location=yes'); ref.addEventListener('loadstop', function() { ref.insertCSS({file: "mystyles.css"}); });