±à¼ÍƼö: |
±¾ÎÄÀ´×Ôwww.hangge.com
,ÎÄÕÂΪµÚ¶þƪÖ÷Òª½²½âÁËÌí¼ÓCordova¿ØÖÆÌ¨²å¼þ¡¢µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼¡¢»ñÈ¡ÊÖ»úÀïÕÕÆ¬£¬²¢±à¼µÈ·½Ãæ½éÉÜ¡£ |
|
µÚһƪΪCordova
- ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս1
Ìí¼ÓCordova¿ØÖÆÌ¨²å¼þ
ǰÎĽéÉÜÁËͨ¹ý Safari µÄ Web¼ì²éÆ÷£¬¿ÉÒÔ¿´µ½¿ØÖÆÌ¨Êä³öµÄÐÅÏ¢¡£µ«ÓÐʱÕâÑùµ÷ÊÔ´úÂ벻̫·½±ã£¬Èç¹ûÔÚXcodeÖеÄÃüÁî¿ØÖÆÌ¨Ò²ÄÜͬ²½´òÓ¡³öµ÷ÊÔÐÅÏ¢¾ÍºÃÁË¡£
Õâ¸ö½èÖúCordovaµÄ cordova-plugin-console ²å¼þ¼´¿ÉʵÏÖ¡£
1£¬¸øÏîÄ¿Ìí¼Ócordova-plugin-console²å¼þ
£¨1£©ÔÚ¡°ÖÕ¶Ë¡±ÖнøÈëÏîÄ¿Îļþ¼Ð
£¨2£©ÊäÈëÈçÏÂÃüÁ
cordova plugin
add cordova-plugin-console |
2£¬²âÊÔÑùÀý
ÎÒÃǽ«Ê×Ò³ index.html Ð޸ijÉÈçÏÂÄÚÈÝ£¬²âÊÔ¸÷ÖÖÀàÐ͵ĿØÖÆÌ¨ÐÅÏ¢¡£
<!DOCTYPE
html>
<html> <head> <title>Pause
Example</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
document.addEventListener ("deviceready",
onDeviceReady, false);
function consoleLog(){
console.log ("console.log works well");
}
function consoleError(){
console.error ("console.error works well");
}
function consoleException(){
console.exception ("console.exception works
well");
}
function consoleWarn(){
console.warn ("console.warn works well");
}
function consoleInfo(){
console.info ("console.info works well");
}
function consoleDebug(){
console.debug ("console.debug works well");
}
function consoleAssert(){
console.assert ("console.assert works well");
}
function consoleDir(){
console.dir ("console.dir works well");
}
function consoleDirxml(){
console.dirxml ("console.dirxml works well");
}
function consoleTime(){
console.time ("console.time works well");
}
function consoleTimeEnd(){
console.timeEnd ("console.timeEnd works well");
}
function consoleTable(){
console.table ("console.table works well");
} </script> < style type="text/css">
button {
width: 200px;height:26px; font-size: 20px;padding:
1px;margin-left: 50px;
} </style> </head> <body>
<br/><button onclick="consoleLog()"> consoleLog</button><br/>
<br/><button onclick="consoleError()"> consoleError</button><br/>
<br/><button onclick="consoleException()"> consoleException</button><br/>
<br/><button onclick="consoleWarn()"> consoleWarn</button><br/>
<br/><button onclick="consoleInfo()"> consoleInfo</button><br/>
<br/> <button onclick="consoleDebug()"> consoleDebug</button><br/>
<br/><button onclick="consoleAssert()"> consoleAssert</button><br/>
<br/> <button onclick="consoleDir()"> consoleDir</button><br/>
<br/> <button onclick="consoleDirxml()"> consoleDirxml</button><br/>
<br/><button onclick="consoleTime()"> consoleTime</button><br/>
<br/><button onclick="consoleTimeEnd()"> consoleTimeEnd</button><br/>
<br/><button onclick="consoleTable()"> consoleTable</button><br/>
</body>
</html> |
ÔËÐкóÒ³ÃæÈçÏ£º

3£¬²âÊÔ½á¹û
£¨1£©°ÑÒ³ÃæÉϵİ´Å¥¶¼µãÒ»±é£¬¿´µ½SafariµÄWeb¼ì²éÆ÷ÖдòÓ¡³öÁ˸÷ÖÖ¿ØÖÆÌ¨ÐÅÏ¢¡£

£¨2£©Í¬ÑùÔÚXcodeÕâ±ßµÄ¿ØÖÆÌ¨£¬Í¬ÑùÓе÷ÊÔÐÅÏ¢´òÓ¡³öÀ´

µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼
ʹÓÃCordova¿ÉÒԺܷ½±ãµÄͨ¹ýjs´úÂëÀ´Ê¹ÓÃÉ豸ÉãÏñÍ·ÅÄÕÕ£¬Ö»Ðè°Ñcamera²å¼þÌí¼Ó½øÀ´¼´¿É¡£
Ò»£¬Ìí¼Ócamera²å¼þ
Ê×ÏÈÎÒÃÇÒªÔÚ¡°ÖÕ¶Ë¡±ÖнøÈ빤³ÌËùÔÚµÄĿ¼£¬È»ºóÔËÐÐÈçÏÂÃüÁ
cordova plugin
add cordova-plugin-camera |
¿ÉÒÔ¿´µ½cameraÏà»ú²å¼þÒѾ³É¹¦Ìí¼ÓÁË£º


¶þ£¬µ÷ÓÃÉ豸ÉãÏñÍ·
1£¬ÅÄÕÕ
ÏÂÃæÑùÀý»áµ÷ÓÃÊÖ»úÉãÏñÍ·ÅÄÕÕ£¨¿ÉÒÔÇл»Ç°ÖᢺóÖÃÉãÏñÍ·£©£¬Í¬Ê±ÅÄÕÕÍê±Ïºó»á°ÑÕÕÆ¬ÔÚÒ³ÃæÉÏÏÔʾ³öÀ´¡£
ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£© ÔÎÄ:Cordova
- ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£© ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£©
ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£©
ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£©
<!DOCTYPE html>
<html> <head> <title>Capture
Photo</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
var destinationType;
document.addEventListener("deviceready",onDeviceReady,false);
//Cordova¼ÓÔØÍê³É»á´¥·¢
function onDeviceReady() {
destinationType=navigator.camera.DestinationType;
}
//ÅÄÕÕ
function capturePhoto() {
//ÅÄÕÕ²¢»ñÈ¡Base64±àÂëµÄͼÏñ£¨quality : ´æ´¢Í¼ÏñµÄÖÊÁ¿£¬·¶Î§ÊÇ[0,100]£©
navigator.camera.getPicture(onPhotoDataSuccess,
onFail, { quality: 50,
destinationType: destinationType.DATA_URL }
);
}
//ÅÄÕճɹ¦
function onPhotoDataSuccess(imageData) {
console.log(imageData);
var smallImage = document.getElementById('smallImage');
smallImage.style.display = 'block';
smallImage.src = "data:image/jpeg;base64,"
+ imageData;
}
//ÅÄÕÕʧ°Ü
function onFail(message) {
alert('ÅÄÕÕʧ°Ü: ' + message);
} </script> </head> <body
style="padding-top:50px"> <button
style="font-size:23px;" onclick="capturePhoto();">ÅÄÉãÕÕÆ¬</button>
<br> <img style="display:none;width:240px;height:320px;"
id="smallImage" src="" />
</body>
</html>
|
2£¬ÅÄÕÕ²¢½øÐбà¼
ÅÄÉãÕÕÆ¬ºóÎÒÃÇ»¹¿ÉÒÔ½øÐмòµ¥µÄ±à¼£¬Ö»Òª°Ñ allowEdit ²ÎÊýÉèΪ true ¼´¿É¡£
ÏÂÃæÑùÀý¿ÉÒÔ¿´µ½£¬ÅÄÕÕÍê±Ïºó»áÏȽøÈë±à¼½çÃæ¡£ÉÏÃæÓиöÕý·½ÐνøÐпò£¬Í¨¹ýÍÏ×§¡¢Ëõ·ÅÕÕÆ¬¿ÉÒÔ½«Æä²Ã¼ôΪÕý·½ÐεÄͼƬ£¨Õâ¸ö¶ÔÐèҪʹÓÃÕý·½ÐÎͼƬµÄ³¡ºÏ±È½ÏÓÐÓ㬱ÈÈçÓû§Í·Ïñ£©¡£
ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£©
ÔÎÄ:Cordova - ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£© ÔÎÄ:Cordova
- ʹÓÃCordova¿ª·¢iOSÓ¦ÓÃʵս4£¨µ÷ÓÃÉãÏñÍ·ÅÄÕÕ£¬²¢±à¼£©
<!DOCTYPE html>
<html> <head> <title>Capture
Photo</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
var destinationType;
document.addEventListener("deviceready",onDeviceReady,false);
//Cordova¼ÓÔØÍê³É»á´¥·¢
function onDeviceReady() {
destinationType=navigator.camera.DestinationType;
}
//ÅÄÕÕ²¢±à¼
function capturePhotoEdit() {
//ÅÄÕÕ²¢»ñÈ¡Base64±àÂëµÄͼÏñ£¨quality : ´æ´¢Í¼ÏñµÄÖÊÁ¿£¬·¶Î§ÊÇ[0,100]£©
//allowEdit: true ÅÄÕÕÍê±ÏºóÔÊÐí¼òµ¥±à¼
navigator.camera.getPicture(onPhotoDataSuccess,
onFail, { quality: 20,
allowEdit: true,
destinationType: destinationType.DATA_URL });
}
//ÅÄÕճɹ¦
function onPhotoDataSuccess(imageData) {
console.log(imageData);
var smallImage = document.getElementById('smallImage');
smallImage.style.display = 'block';
smallImage.src = "data:image/jpeg;base64,"
+ imageData;
}
//ÅÄÕÕʧ°Ü
function onFail(message) {
alert('ÅÄÕÕʧ°Ü: ' + message);
} </script> </head> <body
style="padding-top:50px"> <button
style="font-size:23px;" onclick="capturePhotoEdit();">ÅÄÕÕ²¢±à¼</button>
<br> <img style="display:none;width:240px;height:240px;"
id="smallImage" src="" />
</body>
</html> |
Èý¡¢ÉãÏñÍ·²å¼þµÄ³£ÓòÎÊý
1£¬correctOrientation
ÓÐʱÎÒÃÇ·¢ÏÖÅÄÉãºó£¬ÕÕÆ¬ÏÔʾ³öÀ´µÄ·½Ïò²»¶Ô¡£¿ÉÒÔ½« correctOrientation
ÉèÖÃ³É true£¬ÕâÑùÅÄÉãºó²å¼þ»á×Ô¶¯ÐýתÕÕÆ¬£¬±£Ö¤·½ÏòÕýÈ·¡£
navigator.camera.getPicture(onPhotoDataSuccess,
onFail, { quality: 50,
destinationType: destinationType.DATA_URL
correctOrientation: true}
);
|
2£¬saveToPhotoAlbum
ÉèÖÃ³É true¡£ÅÄÕÕºó»á½«ÕÕÆ¬×Ô¶¯±£´æµ½É豸µÄϵͳÏà²áÖС£
navigator.camera.getPicture(onPhotoDataSuccess,
onFail, { quality: 50,
destinationType: destinationType.DATA_URL
saveToPhotoAlbum: true}
); |
3£¬cameraDirection
ÅÄÉãʱĬÈÏʹÓÃÄĸöÉãÏñÍ·¡£Ä¬ÈÏÇé¿öÏÂÊÇʹÓúóÖÃÉãÏñÍ·£¨Camera.Direction.BACK£©¡£ÎÒÃÇ¿ÉÒԸijÉʹÓÃǰÖÃÉãÏñÍ·£¨Camera.Direction.FRONT£©¡£
navigator.camera.getPicture(onPhotoDataSuccess,
onFail, { quality: 50,
destinationType: destinationType.DATA_URL
cameraDirection: Camera.Direction.FRONT}
);
|
»ñÈ¡ÊÖ»úÀïÕÕÆ¬£¬²¢±à¼
ʹÓÃCordova¿ÉÒԺܷ½±ãµÄͨ¹ýjs´úÂë¶ÁȡϵͳÏಾÀïÃæµÄÕÕÆ¬£¬Í¬Ê¹ÓÃÉ豸ÉãÏñÍ·ÅÄÕÕÒ»Ñù£¬Í¬ÑùÐèÒªÏÈÌí¼Ócamera²å¼þ¡£
Ò»£¬Ìí¼Ócamera²å¼þ
Ê×ÏÈÎÒÃÇÒªÔÚ¡°ÖÕ¶Ë¡±ÖнøÈ빤³ÌËùÔÚµÄĿ¼£¬È»ºóÔËÐÐÈçÏÂÃüÁ
cordova plugin
add cordova-plugin-camera |
¿ÉÒÔ¿´µ½cameraÏà»ú²å¼þÒѾ³É¹¦Ìí¼ÓÁË£º


¶þ£¬»ñÈ¡ÕÕÆ¬
ÎÒÃÇ¿ÉÒÔÑ¡ÔñÊÇ´Ó¡°ÕÕÆ¬¿â£¨Ê±¿Ì£©¡±ÖжÁȡͼƬ£¬»òÕß´Ó¡°Ïಾ¡±ÖжÁȡͼƬ¡£
1£¬´Ó¡°Ïಾ¡±ÖлñÈ¡ÕÕÆ¬
  
<!DOCTYPE html>
<html> <head> <title>Capture
Photo</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
var pictureSource;
var destinationType;
document.addEventListener("deviceready",onDeviceReady,false);
//Cordova¼ÓÔØÍê³É»á´¥·¢
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
//»ñÈ¡ÕÕÆ¬
function getPhoto(source) {
//quality : ͼÏñµÄÖÊÁ¿£¬·¶Î§ÊÇ[0,100]
navigator.camera.getPicture(onPhotoURISuccess,
onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });
}
//»ñÈ¡ÕÕÆ¬³É¹¦
function onPhotoURISuccess(imageURI) {
//´òÓ¡³öÕÕÆ¬Â·¾¶
console.log(imageURI);
var largeImage = document.getElementById('largeImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
//»ñÈ¡ÕÕÆ¬ÊǰÉ
function onFail(message) {
alert('»ñȡʧ°Ü: ' + message);
} </script> </head> <body
style="padding-top:50px"> <button
style="font-size:23px;" onclick="getPhoto(pictureSource.PHOTOLIBRARY);">
´Ó¡°Ïಾ¡±ÖлñÈ¡ÕÕÆ¬ </button> <br>
<img style="display:none;" id="largeImage"
src="" /> </body>
</html>
|
2£¬´Ó¡°ÕÕÆ¬¿â£¨Ê±¿Ì£©¡±ÖлñÈ¡ÕÕÆ¬

<!DOCTYPE html>
<html> <head> <title>Capture
Photo</title> <meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"
src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
var pictureSource;
var destinationType;
document.addEventListener("deviceready",onDeviceReady,false);
//Cordova¼ÓÔØÍê³É»á´¥·¢
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
//»ñÈ¡ÕÕÆ¬
function getPhoto(source) {
//quality : ͼÏñµÄÖÊÁ¿£¬·¶Î§ÊÇ[0,100]
navigator.camera.getPicture(onPhotoURISuccess,
onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });
}
//»ñÈ¡ÕÕÆ¬³É¹¦
function onPhotoURISuccess(imageURI) {
//´òÓ¡³öÕÕÆ¬Â·¾¶
console.log(imageURI);
var largeImage = document.getElementById('largeImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
//»ñÈ¡ÕÕÆ¬ÊǰÉ
function onFail(message) {
alert('»ñȡʧ°Ü: ' + message);
} </script> </head> <body
style="padding-top:50px"> <button
style="font-size:23px;" onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">
´Ó¡°Ê±¿Ì¡±ÖлñÈ¡ÕÕÆ¬ </button> <br>
<img style="display:none;" id="largeImage"
src="" /> </body>
</html> |
|