Я хочу создать скриншот InAppBrowser с PhoneGap. Я много искал, но ничего не нашел. Возможно ли это?Снимок экрана с InAppBrowser?
Мои цели являются: IOS и Android
Я хочу создать скриншот InAppBrowser с PhoneGap. Я много искал, но ничего не нашел. Возможно ли это?Снимок экрана с InAppBrowser?
Мои цели являются: IOS и Android
Этот плагин PhoneGap должен помочь вам:
cordova-screenshot
https://github.com/gitawego/cordova-screenshot
Использование:
navigator.screenshot.save(function(error,res){
if(error){
console.error(error);
}else{
console.log('ok',res.filePath);
}
});
cordova screenshot plugin поможет вам, если вы хотите сделать снимок экрана в главном окне. Снимок экрана будет сохранен в хранилище приложений, поэтому вам не потребуется доступ к галерее устройств.
Но если вы используете InAppBrowser Plugin, чтобы открыть новое окно, как этот
var ref = window.open('http://www.yoursubwindow.com', '_blank')
, то вы не сможете сделать скриншот ref
.
Причина: ref
не обычное окно браузера Javascript но InAppBrowser
объект с ограниченным доступом к окну браузера. В частности, у вас не будет доступа к объекту Javascript window.navigator
, который используется в плагине скриншотов cordova, чтобы сделать снимок экрана.
Поэтому, если вы сделаете скриншот с window.navigator.screenshot.save(...)
, он всегда будет снимать снимок экрана под основным окном (главное окно), но никогда не будет ref
.
ref.navigator.screenshot.save(...)
приведет к ошибке javascript, так как ref.navigator
не определен.
Я сейчас сам работаю над этой проблемой, но пока не понял решение. Поэтому, если вы его найдете, дайте мне знать!
Как это работает в iOS? Где приложение не имеет доступа к фотографиям? – blez