Articles of angularjs

将图像文件附加到表单数据 – Cordova / Angular

我在我当前的项目中使用Anuglar,Ionic和Cordova,我正在尝试将包含图像文件的FormData发布到我的服务器。 现在我正在使用cordova相机插件返回设备上图像的文件路径(例如:file:// path / to / img)。 一旦我有文件路径,我想使用images文件路径将图像文件附加到FormData对象。 这是我现在的代码。 var fd = new FormData(); fd.append(‘attachment’, file); fd.append(‘uuid’, uuid); fd.append(‘userRoleId’, userRole); 上面的代码在附加从但在给定设备上的文件路径时不起作用。 基本上FormData现在显示如下: ——WebKitFormBoundaryasdf Content-Disposition: form-data; name=”attachment”; file://path/to/img 我希望它看起来像这样 ——WebKitFormBoundaryasdf Content-Disposition: form-data; name=”attachment”; filename=”jesus-quintana.jpg” Content-Type: image/jpeg 我find了许多不同的方法来使用cordova FileTransfer上传图像,并将图像转换为base64然后上传它。 但我找不到任何简单的方法来通过使用路径并在表单中发布它来抓取文件。 我对File Api不是很熟悉,所以任何帮助都会受到赞赏

无法在’HTMLMediaElement’上执行’play’:API只能由用户手势启动

我正在制作一个音乐播放页面,我将SoundManager 2用于AngularJs 。 我正在使用远程API来播放歌曲URL。 我增强了一个angular-soundmanager2点击事件处理程序: element.bind(‘click’, function () { if (angular.isFunction(scope.loadFunction)) { scope.loadFunction(scope.song, function () { $log.debug(‘adding song to playlist’); addToPlaylist(scope.song.playDetails); }) } else { $log.debug(‘adding song to playlist’); addToPlaylist(scope.song); } }); 我添加了一个部分,调用scope.loadFunction(song,callback) ,在此函数加载一个歌曲URL后,它调用一个回调来将控制权交给angular-soundmanager2。 问题是在chrome for android上我得到一个错误: Failed to execute ‘play’ on ‘HTMLMediaElement’: API can only be initiated by a user gesture. 如果歌曲从头开始并且未使用异步加载,则不会发生这种情况。 它有什么变通方法吗?

在Ionic应用程序中禁用硬件后退按钮?

我正在尝试禁用Cordova应用程序上的后退按钮。 我正在使用AngularJS + Ionic Framework。 我find了关于这个的主题并尝试了下面的代码,但它绝对没有效果。 任何想法? 谢谢! 的index.html document.addEventListener(“deviceready”, onDeviceReady, false); function onDeviceReady() { document.addEventListener(“backbutton”, function (e) { e.preventDefault(); console.log(“hello”); }, false ); } 请注意,当我按下按钮时,我的控制台中显示“hello”。

如何使用ClientID和ClientSecret在Phonegap内部使用AngularjsloginGoogle OAuth2

我正尝试通过Google OAuth2使用Angularjs(使用Ionic Framework)从Phonegap应用程序login。 目前我正在使用http://phonegap-tips.com/articles/google-api-oauth-with-phonegaps-inappbrowser.html进行login。但是,它创build了非常难看的代码,而且很难理解代码我正在使用Angular-UI-Router for Ionic。 这个问题似乎没有任何正确的答案螺旋。 我希望现在应该解决。 Google Angular Guys应该帮忙。 如何在电话中实施Google Auth? 最接近的主题是如何在Cordova / Phonegap中使用GoogleloginAPI ,但这不是angularjs的解决scheme。 我不得不使用下面的代码传递javascriptvariables值: var el = document.getElementById('test'); var scopeTest = angular.element(el).scope(); scopeTest.$apply(function(){ scopeTest.user = user; scopeTest.logged_in = true; scopeTest.name = user.name; scopeTest.email = user.email; });

Android Webview Javascript – 参考脚本不工作

在Android Studio 1.0.1 API 21上开发。以下是文件夹结构 – 它本质上是一个基于AngularJS的应用程序,我想包装在一个webview容器中,并在Android上运行。 我的Android代码是 – WebView myWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setDomStorageEnabled(true); myWebView.setWebChromeClient(new WebChromeClient()); String filePath = "file:///android_asset/www/index.html"; myWebView.loadUrl(filePath); 在html中的引用都是相对的 – <script src="lib/jquery.min.js"></script> <script src="lib/angular.min.js"></script> <script src="lib/angular-route.min.js"></script> <script src="lib/bootstrap.min.js"></script> 但有趣的是,我search了大部分地方,我不知道我哪里错了。 我的参考根本不工作! 所以我不能访问我的lib文件,我的脚本,我的CSS。 另外,如果我在webview中使用相同的Java代码运行外部angular网页,它将完美运行! 任何帮助表示赞赏。 注意:请不要build议使用Cordova / PhoneGap。 这是一个项目要求本土化(我坦率地不明白为什么,但我只是一个开发人员没有发言权)。 在旁边注意:我面对与iOS webview相同的问题。 参考不工作! UPDATE 试了下面的事情: 试过loadDataWithBaseURL() ,不起作用。 尝试了所有可能的pathscheme。 没有工作。 […]

`$ cookies.put()`需要30秒钟的时间才能将Cookie保存在Android上的磁盘上

语境: 我们有一个加载在线网站的cordova应用程序。 (我们基本上使用cordova作为插件) 我们使用$cookies.put()存储cookie 它可以在桌面浏览器和iOS上正常工作(只要我们在cookie上使用到期) 问题: 在Android上,如果用户在调用$cookies.put() 30秒后$cookies.put()应用程序,那么cookie将在下次重新启动时消失。 如果用户等待超过30秒(如35秒或更长),一切工作正常。 题: 我们如何强制cookie立即(或至less快得多)保存? 笔记: 在cookie上添加选项不会改变任何内容 我试图使用cordova-plugin-crosswalk-webviewreplace人行横道的系统浏览器,但是它做同样的事情

无法更新视图,数据绑定不起作用 – Angularjs和PhoneGap

我正在尝试使用PhoneGap(适用于Android设备)制作简单的待办事项应用程序。 我还使用AngularJS进行数据绑定。 我想显示保存在数据库中的任务列表。 当我使用chromedebugging器进行debugging时,可以看到SQL请求正常工作,但是在模拟器或设备上启动应用程序时没有任何显示。 DbCtrl.js var myApp = angular.module('myApp', []); function DbCtrl($scope) { $scope.init = function() { document.addEventListener("deviceready", onDeviceReady, false); } function onDeviceReady() { var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); db.transaction(populateDB, errorDB, successDB); } function populateDB(tx) { tx.executeSql('DROP TABLE IF EXISTS DEMO'); tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, todo)'); tx.executeSql('INSERT INTO […]

input上的事件监听器(onkeypress,onkeydown)在Android数字键盘上不起作用

我不知道为什么,但经过数小时的处理,我可以说有什么不对劲。 我有一个简单的input <input type="number"> 我希望它只接受数字(数字[0-9]),没有更多。 为了达到这个目的,我添加了一个事件监听器来控制事件的键码。 没有什么特别的,几乎所有的平台上的一切工作,与Android的问题。 在这里 types=“数字” 导致数字键盘出现 – 这很好 – 还有一些其他字符(逗号,点,连字符…)。 当你按下这个特殊字符时,这个行为很奇怪: onkeypress事件:绝对不会开火 (为什么???) onkeydown事件:事件正在触发,相关函数被调用。 问题是浏览器已经input了字符 (为什么??),所以不可能调用“event”的“preventDefault”函数。 input事件:事件正在触发,但“事件”对象的“代码”和“哪些”属性未定义。 而且,和以前一样,浏览器已经input了字符 。 我错过了什么? 我的环境由AngularJs支持,所以我在一个指令中设置了事件监听器。 但是用jQuery做同样的事情并不能解决问题。 有人可以build议使用“$parsing器”来推送我的自定义值,而不需要的字符。 无论如何,这不工作我猜,因为input的types是“数字”,它只期望数字(另一种方式来说Android上的浏览器做错了什么..) 这里有一个工作小提琴 ,在Android上打开它。 谢谢

错误:无法find凉亭组件“ionic-platform-web-client”

我在node.js命令提示符“离子添加离子平台networking客户端”上运行此命令并获取此错误…. 无法find凉亭组件“离子平台networking客户端”。 你确定它存在吗? (CLI v1.7.7) 您的系统信息: Cordova CLI:5.3.3 Gulp版本:CLI版本3.9.0 Gulp本地:本地版本3.9.0 离子版本:1.1.0 离子CLI版本:1.7.7 Ionic App Lib版本:0.6.3 操作系统:Windows 7 节点版本:v0.12.2 试了一切…重新安装凉亭,离子,cordovaBT仍然得到这个错误。

Android Studio是否支持用于Android UIdevise的AngularJS?

我有一个关于Android Studio的问题:AS在deviseXML文件时是否支持AngularJS代码,例如对于小animation或效果?