2014-09-23 183 views
0

我想用PhoneGap創建InAppBrowser的屏幕截圖。 我搜查了很多,但我什麼也沒找到。這甚至有可能嗎?InAppBrowser的屏幕截圖?

我的目標是:iOS和Android

回答

0

這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); 
    } 
}); 
+0

在iOS中如何工作?應用程序無法訪問照片的位置? – blez 2014-09-23 14:36:13

2

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未定義。

我現在正在處理這個問題,但我還沒有想出解決方案。所以,如果你找到一個,讓我知道!

+0

您是在開發人員應用程序中嘗試此操作還是將其部署到您的設備中? – blez 2014-10-01 16:04:23

+0

我將它部署在iPad Air上。 – BHulliger 2014-10-02 16:40:15

+0

基本上這個插件不適用於iOS – blez 2014-10-03 11:11:36