monacaのcordovaのバージョンを上げたら一部、英語表記になった

投稿者: Anonymous 現在、monacaでアプリを開発しています。 今まで、cordova5.2を使っていましてそろそろバージョンを上げたほうがいいと思い6.2に しました。6.2にしたところ、iosで日本語だった部分が英語に変わってしまいました。 それはプルダウンでiosではpickerの右上の言語が5.2では完了でしたが、Doneに変更されました。 またwindow.openを使用したときも同じ現象が起きました。 以下にプログラムと画像を載せます。 <select> <option>1月</option> <option>2月</option> <option>3月</option> <option>4月</option> <option>5月</option> <option>6月</option> <option>7月</option> <option>8月</option> <option>9月</option> <option>10月</option> <option>11月</option> <option>12月</option> </select> 私としては日本語にしたいのですがcordovaのバージョンを上げたらなぜ、英語になったのでしょうか? ご教授よろしくお願いします。 解決 cordovaというよりプロジェクトの問題のような気がします。 最近Monacaを触っていないので適当ですが、 MonacaApp-Info.plistを開いてCFBundleLocalizationsを追加・編集します。 下記のように入力して日本語を追加して変化ありませんでしょうか? <key>CFBundleLocalizations</key> <array> <string>ja</string> </array> Custom Config プラグインのドキュメントがあったので少し見てみましたが、 CordovaプラグインのXMLの書き方そのもののようですね。 それでしたら、下記のように記載すれば反映されるものと思われます。 <platform name=”ios”> ~中略~ <config-file target=”*-Info.plist” parent=”CFBundleLocalizations” overwrite=”true”> <array> <string>ja</string> </array> </config-file> ~中略~ </platform> 回答者: user10259

OnsenUiの確認ダイアログ内の処理が即時反映されない

投稿者: Anonymous いつもお世話になっております。開発環境Monacaです。Monaca公式ガイドブックのサンプルアプリに、追加機能としてOnsenUiの確認ダイアログを実装したものの、その処理内容が画面に即時反映されません。 ●対象サンプルアプリ Monaca公式ガイドブック10-2「バーコードスキャナーアプリ」 https://ja.monaca.io/book/zip/10-2.zip ●追加した機能 スキャンした履歴をクリアする際に、確認ダイアログを開くようにする。 ●問題点 リストを全てクリアする確認のダイアログで「OK」を押しても、画面上で変化しない(リストが表示されたまま)。タブで画面を一度切り替えるとクリア後の画面になっている。 →クリアボタンをおしたら、すぐにリストが消えるようにしたいです。 アドバイスを頂ければ幸いです。 【追加(変更)ソース部分】 $scope.clearHistory = function() {   ons.notification.confirm({  message: ‘全てのデータを削除しますか?’,  title: ‘確認’,  buttonLabels: [‘Cancel’, ‘OK’],  primaryButtonIndex: 1,  cancelable: true,  callback: function(index) { if(index == 1){ //OKクリック時 $scope.history = []; $scope.saveHistory();//!!この処理が即時反映されません!! } } }); }; 解決 $scope.$apply()を実行して更新してください。 //OKクリック時 $scope.history = []; $scope.$apply(); $scope.saveHistory(); 回答者: Anonymous

親画面が子画面の値を見る方法

投稿者: Anonymous myModule.controller(‘manager_information_controller’, function($scope, member){ //親画面から呼ばれる関数 $scope.showModalForMemberInformation = function(){ modal_manager.show(); $scope.test = “11”; } //子(モーダル)画面から呼ばれる関数 $scope.selectMembers = function(){ modal_manager.hide(); $scope.test = “22”; } <!– ページ –> <ons-page id=”manager_information” ng-controller=”manager_information_controller”> {{newGuest}} <ons-list-item modifier=”chevron” ng-click=”showModalForMember()”> モーダルへ </ons-list-item> </ons-page> <!– モーダル –> <ons-modal var=”modal_manager” ng-controller=”manager_information_controller”> <ons-button ng-click=”selectMembers()”>検索</ons-button> </ons-modal> 親画面が子画面の値を見る方法が分からなくて、困っています。 よろしくお願いします。 解決 あるコントローラーからons-modal中のコントローラーの値を見たいということで大丈夫でしょうか。あるコントローラーから別のコントローラーに値を渡したいのであれば、少なくとも方法は2つあります。 一つはAngularJSのサービスを使って値を渡す方法です。あるサービスを作ってそのサービスを2つの両方のコントローラーにインジェクションします。1つ目のコントローラーで値を入力して、モーダル内のコントローラーで値を受け取ることができます。詳細は下の例をみてください。 詳細コード: //サービスを作ります。 myApp.factory(‘SharedData’, function ()…(Continue Reading)

Jqueryを使ったMonacaで画面のどまんなかに文字を表示させる方法について

投稿者: Anonymous すみません。質問させてください。 MonacaでjQueryを利用してページを作成しているのですが、1点詰まったことがあります。 画面の縦横の真ん中に文字を表示させように、 htmlで <div id=”startFl” data-role=”page” height=”100%”> <table width=”100%” height=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″> <tr height=”100%”> <td class=”mainscreen”><p id=”call_text_Fl”></p></td> </tr> </table> CSSで html { height: 100%; } body { height: 100%; } td.mainscreen{ width: 100%; height: 100%; margin: 0 auto; text-align: center; } として、見たのですが、横では中央に表示されたのですが、縦では真ん中になっていませんでした。 これは何が良くないのでしょうか。 お知恵をお貸しください。 解決 <div> タグに height という属性は存在しないため、CSSで指定する必要があります。 加えて、<td> や…(Continue Reading)

ons.notification内で改行したい

投稿者: Anonymous ons.notification.alertのメッセージ内で改行したいのですが、うまく動作しません。 「<br>」「n」「\n」の3つを試してみたのですが、そのまま文字として表示されてしまい、改行できませんでした。 どうすれば改行できるのでしょうか? 解決 アラートダイアログを使う のサンプルにコメントで書いてありますが、messageではなくmessageHTMLを使用します。 ons.notification.alert({ // message: ‘メッセージ’, messageHTML: ‘メッセージが<br>改行されました。’, // もしくはmessageHTML: ‘<div>HTML形式のメッセージ</div>’, title: ‘ダイアログのタイトル’, buttonLabel: ‘OK’, animation: ‘default’, // もしくは’none’ // modifier: ‘optional-modifier’ callback: function() { // ボタンがタップされた } }); 回答者: Anonymous

【onsenui】遷移先でmodalを開いた状態で表示&modalをfadeアニメーションで閉じたい。

投稿者: Anonymous お世話になります。 現在monacaを使用してアプリケーションの開発を行っています。 一覧ページから詳細ページに移行した際に、詳細ページをmodalが開いた状態で表示したいのですがなにか方法はありますでしょうか? 自分が書いたコードですと、詳細ページが表示されてからmodalが開きます。 prefNavigator.pushPage(‘prefResult.html’, { animation: ‘slide’}); prefNavigator.on(‘postpush’, function(){ loadingModal.show(); }); また、Web APIで読み込んだあとmodalを閉じているのですが、ページ遷移のfadeアニメーションのように、ふわっとmodalを閉じることは可能でしょうか? 解決 prepushとjQueryのfadeoutを使えばそれっぽい動きはできると思います。 fadeoutはもっと良い方法があるかもしれませんが。 以下、サンプル _x000D_ _x000D_ ons.bootstrap();_x000D_ _x000D_ function fadeout() {_x000D_ $(“#modal”).fadeOut(1000, function() {_x000D_ modal.hide();_x000D_ });_x000D_ }_x000D_ ons.ready(function() {_x000D_ navi.on(‘prepush’, function(event) {_x000D_ modal.show();_x000D_ setTimeout(‘fadeout()’, 1000);_x000D_ });_x000D_ }); _x000D_ <link href=”https://cdn.rawgit.com/OnsenUI/OnsenUI/1.3.3/build/css/onsenui.css” rel=”stylesheet”/>_x000D_ <link href=”https://cdn.rawgit.com/OnsenUI/OnsenUI/1.3.3/build/css/onsen-css-components.css” rel=”stylesheet”/>_x000D_ <script src=”https://cdn.rawgit.com/OnsenUI/OnsenUI/1.3.3/build/js/angular/angular.min.js”></script>_x000D_ <script src=”https://cdn.rawgit.com/OnsenUI/OnsenUI/1.3.3/build/js/onsenui.min.js”></script>_x000D_ <script…(Continue Reading)

MonacaでURLからデータを読み出す方法

投稿者: Anonymous お世話になっております。 サーバー上(http://example.com/hoge.txt)に在るテキストデータを取得し、その内容を表示させようと思っております。 テキストデータ(text/plain)をWebから取得する方法と、 その内容を表示する方法 を ご教授頂けないでしょうか? よろしくお願いします。 解決 サーバからのデータ取得 クライアントサイドJavaScriptでHTTP通信し、データを得るにはXMLHttpRequestを使います。 これはMonaca(Cordova)でも同じです。 XMLHttpRequestに関してはjQueryなどのライブラリに任せるかもしれませんが、大まかに流れを述べると、 //XMLHttpRequestオブジェクトを生成 var req = new XMLHttpRequest(); // 今回はデータの取得だけなので”GET”とURLを指定してopen req.open(“GET”, url); // onreadystatechangeにコールバック関数を代入 req.onreadystatechange = function() { // コールバック関数内でreadyStateをチェックし、ステータスが完了になっていれば処理をする if (req.readyState === XMLHttpRequest.DONE){ // HTTPリクエストのステータスはreq.statusに入っている // GETに成功すると200のようです if(req.status === 200) { // 得られたテキストデータはreq.responseTextに入っている といった感じです。 テキストの表示 JavaScriptでテキストをユーザに表示するには、alertなども使えますがDOMに追加するのがよいでしょう。 何らかのUIライブラリを使っていれば簡単な方法が用意されているかもしれませんが、自分で書くならばHTMLでpre要素を用意しておき、それのコンテンツとしてテキストを設定するのが簡単だと思います。 // idが”text”の要素があるとして、 var text_elm =…(Continue Reading)

monaca/AndroidでWebViewで表示中の外部ページからローカルの音ファイルを再生したい

投稿者: Anonymous monaca/AndroidのWebViewで表示中の外部Webページのjavascriptから アプリローカルにある音ファイルを指定して鳴らす方法はありますでしょうか。 MediaAPIを使用しようとすると、表示したWebページでは new Media() は定義されておりませんのでエラーになります。 Mediaプラグインよりjsファイルを取り出し、Webページ内でロードさせますと 上記エラーは出なくなりますが、ローカルの音ファイルのアドレスを指定して読み込ませた所 読み込むことが出来ませんとエラーになります。 何か方法はありますでしょうか。 宜しくお願い致します。 解決 セキュリティ的な問題もありますので仰る方法ではありません。 まず、ローカルの絶対パスは”file:///”になりますが、 “file:///”パスは外部からはSecurityErrorではじかれます。 そして前者の理由からローカルのスクリプトを読めません。 cordovaはスクリプトを経由してネイティブのプラグインを呼びだすので、 MediaAPIを呼び出すことは出来ません。 同じ理由でローカルの音声ソースを参照することも出来ません。 ですので、どうしてもローカルと外部のページを共存して読み込みたいのであれば iframeを使用するか、外部ソースを読み込んで表示するなどして、 ローカルのページの中で外部ページを表示するしかないのではないでしょうか? 追記 ふと、思いついたのですが、 InAppBrowserを使用してローカルと共存も出来そうな気もします。 InAppBrowserのイベントからURLを取得できるので リクエストやハッシュなどを利用してURLからローカルにコマンドを送る方法ですね。 ただ、前述のiframeの方法もですが危険を伴います。 アプリから指定するページ以外からコマンドを送られた場合、 アプリをクラックされる恐れがあるからです。 外部ページを表示したい意図が分からないので実現方法として思い浮かぶのはコレくらいですね。 回答者: user10259

ajax通信でsql文を送信し、結果を取得する方法

投稿者: Anonymous お世話になっております。 現在、Monaca側からAjaxとphpを利用して、外部DBのレコードを取得しています。 表題の件ですが、検索のクエリをAjaxでPOST送信して、PHPでPDOを使った クエリ実行を行うまでは出来ました。 しかし、DBから取得したデータを返す際、JSON形式に変換する必要があり、 今の所手動で連想配列を作り、それをjsonへ変換しています。 ですがこのやり方だと、クエリによって連想配列作成のロジックを 変更しなければならない為、sql文だけを送って結果を取得するという ことが実現できません。 どうにかして実現できる方法はないでしょうか? 言っている事が分かりにくかったらすみません。 ご回答頂けると助かります。 解決 質問の回答については PDOの結果を配列で返してくれるようなライブラリが存在するのでそちらを使ってはどうでしょうか? http://php.net/manual/ja/pdostatement.fetchall.php 回答者: Anonymous

monacaとniftymbaasを使用して、iOS でプッシュ通知を実装したい。

投稿者: Anonymous 現在、monacaとniftymbaasを使用してプッシュ通知が使えるアプリを作成しています。 プログラムは作成済みなのですが、デバッグビルドをする際のiosビルド設定で困っております。 iOS dev centerでprovisioning file、証明書の取得をして秘密鍵とCSRのインポートまではうまくいったんですが、証明書のアップロードでこれはデペロッパーの証明書ではないですよと言うようなエラーが出てしまい先に進めません。何度も証明書を取得し試しているのですが同じエラーが出てしまいます。 monacaの設定の問題でしょうか? それとも証明書の取得がうまくいってないんでしょうか? どなたかわかる方ご教授お願いいたします。 解決 wakuさん、こんにちは。 恐らく自分がはまったのと同じ個所かと思われますのでお助けになれば。。。 デバッグビルドをする際の、[iOSのビルド設定]でアップロードする証明書は、 Apple developerログイン →Member Center →Certificates, Identifiers & Profiles →Certificates →Development →iOS App Development これです。 自分は、「プッシュ通知をするんだから…」と思い込み Certificates →Development →Apple Push Notification service SSL (Sandbox) このプッシュ通知のための証明書を何度も何度も作っては消し…で半月くらい費やしたでしょうか… ちなみにプッシュ通知を実装したアプリには、全部で4つ証明書が必要になります。 ●デバッグビルド用 ・Certificates→Development→iOS App Development  アプリの証明書。Monacaにアップロードする「デベロッパー証明書」はこれ。  アップロードする「秘密鍵」もこの証明書から書き出したもの。 ・Certificates→Development→Apple Push Notification service SSL (Sandbox)  プッシュ通知のための証明書。プッシュを実装しなければ不要。  NCMBにアップロードするp12ファイルはこの証明書から書き出したもの。 ●リリースビルド用…(Continue Reading)

Monaca Onsen UI で開閉式のコンテンツを実現したい

投稿者: Anonymous jQuery Mobile で作成したコンテンツを、Onsen UI に移植する作業を行っています。 jQuery Mobile 側で「開閉式のコンテンツ」 <div data-role=”collapsible”> の部分があるので、これを Onsen UI で実現したいと思います。 Onsen UI のコンポーネント一覧を探したところ、どんぴしゃのコンポーネントを見つけることができませんでした。 「このコンポーネントでできるよ」とか「コンポーネントはないよ、JQuery とかでやってね」というヒントだけでもいただければ、と思います。 よろしくお願い致します。 [ jQuery Mobile のサンプル] <div data-role=”collapsible”> <h3>ほげほげ</h3> <p>ぴよぴよ</p> </div> 解決 アコーディオン風にでしたら、下記が参考になると思います。 http://codepen.io/onsen/pen/vjlsF _x000D_ _x000D_ // ons.bootstrap();_x000D_ angular.module(‘myApp’, [‘onsen’, ‘ngAnimate’]).controller(‘MyCtrl’, function($scope) {_x000D_ $scope.groups = [];_x000D_ for (var i = 0; i < 10; i++)…(Continue Reading)

onsen ui のtabbarとMaster-Detailを併用したい

投稿者: Anonymous 初心者ですみません。 monacaのOnsen UI Master-Detailのテンプレート(index.html)で、 同じくテンプレートのOnsen UI tabbarのソースをコピーし、 (ons-tabbar var=”tabbar”~)貼り付けたら、 list.htmlからdetailページに動作しなくなってしまいました。 どのようにすれば、動作するようになるのでしょうか。 単純に、下にタブが表示されたリストページから、各アイテムをタッチすると、 詳細ページに動作させたいのです。 何卒、宜しくお願いいたします。 _x000D_ _x000D_ (function(){_x000D_ ‘use strict’;_x000D_ _x000D_ var currentItem = {};_x000D_ _x000D_ $(document).on(‘pageinit’, ‘#detail-page’, function() {_x000D_ $(‘.item-title’, this).text(currentItem.title);_x000D_ $(‘.item-desc’, this).text(currentItem.desc);_x000D_ $(‘.item-label’, this).text(currentItem.label);_x000D_ $(‘.add-note-action-item’, this).click(function () {_x000D_ alert(‘dummy message’);_x000D_ });_x000D_ });_x000D_ _x000D_ $(document).on(‘pageinit’, ‘#list-page’, function() {_x000D_ $(‘.item’, this).on(‘click’, function() {_x000D_ currentItem…(Continue Reading)

ajaxで動的にons-col/ons-row生成した時、onsenUIのcssの変更がうまくいかない

投稿者: Anonymous Monaca/onsen UIを用いてアプリ開発をしております。 ajaxで動的にons-col/ons-rowをhtmlに追加し、その際、各ons-colにcss要素の追加もしておりますが、cssの適用がうまくいかずに立ち往生しております。 以下がコードになります。 html <ons-navigator page=”top.html” var=”app.navi”></ons-navigator> <ons-template id=”top.html”> <ons-page id=”top-page”> <ons-list-item modifier=”chevron” class=”item” id=”list_up”> <ons-row> <ons-col class=”title”> <header> <span class=”item-title”>リスト</span> </header> </ons-col> </ons-row> </ons-list-item> ・・・ </ons-page> </ons-template> <ons-template id=”list.html”> <ons-page id=”list-page”> <ons-list> <ons-list-item> <div id=”list”></div> </ons-list-item> </ons-list> </ons-page> </ons-template> script (function(){ ‘use strict’; $(document).on(‘pageinit’, ‘#top-page’, function() { $(‘#list_up’, this).on(‘click’, function() {…(Continue Reading)

MonacaのOnsen UIでcurrentTimeを動作させる方法を教えていただけないでしょうか?

投稿者: Anonymous MonacaのOnsen UI最小限のテンプレートで開発しているのですが、currentTimeが動作しません。 http://docs.monaca.mobi/ja/sampleapp/samples/#6 currentTimeで再生位置を0にし、音声ファイルを先頭から再生できるようにしたかったのですが、動作せず困っています。 currentTimeが動作しない場合audio.pause(); audio.src = audio.src;で動作すると書いてあり試しましたがダメでした。 https://stackoverflow.com/questions/16966724/html5-audio-currenttime-doesnt-work 実装したいことは、再生した音声ファイルを停止後、再度再生する時に先頭から再生できるようにすることです。 現状実装できていることは、 ・音声ファイルの再生 ・音声ファイルの停止 です。 ons-back-buttonタグとons-buttonタグをonclickするとページ遷移し音声ファイルが停止する仕様です。 解決方法を教えていただけると助かります。 よろしくお願いいたします。 index.html <script> ons.bootstrap(); function sound(){ //[ID:sound-file]の音声ファイルを再生[play()]する document.getElementById(“sound-file”).play(); } /* currentTimeが動作しません function soundpause(){ //[ID:sound-file]の音声ファイルを停止[pause()]する setTimeout(function(){ document.getElementById(“sound-file”).pause(); audio.currentTime = 0; },10); } */ /* currentTimeが動作しません function soundpause(){ //[ID:sound-file]の音声ファイルを停止[pause()]する setTimeout(function(){ document.getElementById(“sound-file”).pause(); (“sound-file”).currentTime = 0; },10); } */ /* currentTimeが動作しない場合audio.pause();…(Continue Reading)

monacaでnend広告を別ウインドウで開く方法

投稿者: Anonymous monacaのサイトのドキュメントにある以下の方法で nend広告を実装するとデバッカーでは別のブラウザーが起動しますが iOSでビルドするとアプリ内で開いてしまいます。 コルドバ2.9のころにはできていました 3.5になりコードをドキュメントのとおりに変更したのですが機能しません、、 http://docs.monaca.mobi/3.5/ja/sampleapp/tips/external_services/nend_ad/ 何かプラグインの設定が抜けているのかと思いましたが inappbrowserは有効にしています このコードで正常に機能して方はいらっしゃるのでしょうか? サポートに連絡しても有料の見積もりのテンプレしか返って来なくて困っています ご教示頂けると幸いです 解決 user7987さん。 以下のコードを書いてみました。これをuser7989さんのiOS環境で動かしてみてください。 バナー型広告で試しています。アイコン型広告だと、やり方がちょっと異なるかもしれません 詳しくはちょっと調べてみないと解りませんが、もしかして、nendの仕様が変更になったのかもしれません。自分の記憶が正しければ、以前はdivタグのnend_adspace_xxxxの中に直接広告タグは生成されなかったと思うのですが…. <!DOCTYPE HTML> <html> <head> <meta charset=”utf-8″> <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”> <script src=”components/loader.js”></script> <link rel=”stylesheet” href=”components/loader.css”> <link rel=”stylesheet” href=”css/style.css”> <script> addEventListener(‘load’, onLoad, false); function onLoad() { //nendの広告タグのロードにラグがあるので、決め打ちで処理を遅延させています。 var TIME_FOR_WAITING_NEND_AD = 500; setTimeout(function () { var nendAdSpace…(Continue Reading)

Cordovaプラグインで電話発信を機能させたい

投稿者: Anonymous 知りたい内容 a href="tel:~" で電話発信するためのCordovaプラグインを知りたい。 背景・実現したいこと 現在MonacaでHTML5ハイブリッドアプリを制作しています。 対象OSはiPhone・Androidの2種類です。 Cordovaプラグインがデフォルトでインストールされているデバッガーでは、 <a href="tel:000-1111-2222">00-1111-2222</a> などと記述した箇所を 実機でタップすると電話発信されますが、リリースビルドをして実機テストを すると発信されません。 恐らく、リリースビルドとデバッグ環境ではCordovaプラグインの環境が 異なるため生じたバグではと疑っていますが、これを解決するための プラグインはどのようなものが想定できるでしょうか。 現在インストールされているCordovaプラグイン Geolocation InAppBrowser MonacaPlugin Splashscreen Whitelist 解決 OSはどちらになるのでしょうか? とりあえず説明だけ…… 実装方法はいくつかありますが電話番号のリンクは iOSではInAppBrowserの_system、 AndroidではWebIntentを使用して開きます。 上記はCordovaプラグインの設定から追加します。 また、他の方法では 文章中の電話番号の認識はMETAで封じているかと思います。 数字を全て電話番号として扱うのであれば、これを外すのも一つです (※実際に電話番号以外の数字もリンクしてしまうのであまりオススメは出来ませんが……) aタグでもtargetを記載すれば動いたような…… そのままaタグを使用すると1つ問題があり、現在のページを上書きしてしまいます。 (※今のMonacaを触っていないので、もしかするとアップデートに伴いWhitelistの関係で上書きできないかも……) ※自分の昔のコード見るとiOSはこれで飛んでいたっぽい…… location.href=”tel:”+tel_number; 恐らく現在のページにはcomponentsの読み込みがあるかと思いますが、 それが読み込まれなくなるとアプリは制御を失います。 ですので、出来る限りaタグで遷移するのではなくjavascriptで制御して遷移しましょう。 それがアプリと関係ないページであれば、尚更必要かと思います。 回答者: user10259

端末のローカルストレージに保存した画像を表示する方法

投稿者: Anonymous こんにちは。 monacaでアプリを作成しています。 画像の描画を早めるため画像をダウンロードしてキャッシュとして利用しようと考えています。 技術サイトで紹介されていた下記のソースを参考にネット上にある画像ファイルを端末のストレージに保存することができました。 iOSでは確認できていないのですが、Androidでは alert(‘ダウンロード成功 ‘+filePath); で表示されるパスに画像が確かに保存されます。 ローカルに保存された画像のパスはAndroidでは 「file:///storage/emulated/0/test.png」 となっています。 function onDeviceReady() { requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) { rootDir = fileSystem.root.toURL(); alert(‘画像のダウンロードを開始するよ’); var fileTransfer = new FileTransfer(); //ダウンロードするURL var url = encodeURI(‘https://secure.elephancube.jp/dltestapp/120305.png’); //保存するパス var filePath = rootDir + ‘test.png’; fileTransfer.download(url, filePath, function(entry) { alert(‘ダウンロード成功 ‘+filePath); }, function(error) { alert(‘ダウンロードエラー ‘+error.code); }); }, function(e)…(Continue Reading)

ng-repeat で生成されたDom?のvalue値を ng-repeat スコープ外で使う方法

投稿者: Anonymous ネットで調べたものの、ng-repeat で生成されたDom?のvalue値を ng-repeat スコープ外で使う方法が見つからず。まず根本的に出来るのかもわからず困っています。 sampleAJS.html <ons-list class=”list”> <ons-list-item ng-repeat=”product in history track by $index” class=”list__item”> <select class=”num” ng-model=”countNumber” ng-options=”c.value as c.name for c in countList”></select> //このローカルスコープ内で動的に変更した value 値を元に計算しGlobalに代入したい </ons-list-item> </ons-list> sampleAJS.js $scope.countList = [ {“value” : 1, “name” : “1”}, {“value” : 2, “name” : “2”}, {“value” : 3, “name” : “3”}, {“value”…(Continue Reading)

JavascriptでiBeaconを検知したい(バックグラウンド)

投稿者: Anonymous HTML5,CSS,Javascript (Monava) でバックグラウンドでアプリを起動していなくてもiBeaconを検知できるようにしたいです。 機種は iOS8,3 です。 Objective-C ではできるようですが http://www.gaprot.jp/pickup/ibeacon/ibeacon-vol2/ Monacaを使ってはできないのでしょうか? ご回答よろしくお願いいたします。 解決 できますよ。バッググラウンドだけでなく、Killしても検知します。(rangingでなくmonitoringのみ) https://stackoverflow.com/questions/29940742/cordova-ibeacon-send-local-notification-after-the-app-got-killed-but-does-not この辺りが参考になるかと思います! 回答者: Anonymous

monacaでスワイプ操作ができません

投稿者: Anonymous monacaでアプリを作りたいと思い色々な動作をさせているのですが、スワイプ操作ができません。 コードに何か間違いなどありましたらお教え頂けると助かります。 よろしくお願いいたします。 ※ヘッダーとボディを記載するとコードがおかしくなったため省きました index.html <meta charset=”utf-8″> <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”> <meta http-equiv=”Content-Security-Policy” content=”default-src * data:; style-src * ‘unsafe-inline’; script-src * ‘unsafe-inline’ ‘unsafe-eval'”> <script src=”components/loader.js”></script> <script src=”lib/onsenui/js/onsenui.min.js”></script> <script src=”components/monaca-jquery/jquery.mobile.js”></script> <link rel=”stylesheet” href=”components/loader.css”> <link rel=”stylesheet” href=”lib/onsenui/css/onsenui.css”> <link rel=”stylesheet” href=”lib/onsenui/css/onsen-css-components.css”> <link rel=”stylesheet” href=”css/style.css”> <script> ons.ready(function() { /* 前ページにスワイプ */ $(document).on(‘swiperight’, ‘.center’, function(event) {…(Continue Reading)

Monacaデバッガーの機能について

投稿者: Anonymous 調べたんですけど調べ方が悪いのか出てこなくて Monacaデバッガーでiosのアプリをステップ実行したいのですが、できますでしょうか。 Androidのほうは下の記事でやれることがわかっているのですが http://blog.asial.co.jp/1333 大変申し訳ございませんが、よろしくお願いします。 解決 カスタムビルド版デバッガーが必要ですが、iOS版もsafariを用いたUSBデバッグが可能みたいです。下記の記事をお読みください。 http://docs.monaca.mobi/ja/manual/debugger/debug/#monaca-debugger-with-usb-debugging 回答者: Anonymous

MonacaでCordova5.2にアップデートしたらAndroidビルドに失敗してしまいます

投稿者: Anonymous MonacaでCordova4.1からCordova5.2にアップデートしたところ、Androidビルドに失敗するようになりました。 ビルド設定などの対応方法があれば、お教えください。  ・Cordovaアップデート前はビルドに成功していました。  ・ビルドではなくMonacaデバッガーで動作させた場合、特にエラーはなく動作します。  ・デバックビルド、リリースビルド両方ともビルドに失敗します。  ・iOSビルドの場合、問題なくビルドに成功します。 ビルド失敗後のメッセージには、ビルド設定に間違いがある可能性があるので下記の設定を再確認してください と表示されます。  ・AndroidManifest.xmlは正しく設定されていますか?  ・キーストアの設定が正しいですか? →これらの設定はCordovaアップデート前から変更していません。 以下はビルド失敗時のログになります。 Temporary folder: /private/tmp/monaca/565bfce4fd1734416071b4f9 Downloading project Download complete Running for 5.2 plugin add mobi.monaca.plugins.Monaca No ALTQ support in kernel ALTQ related functions disabled pf enabled Installing &quot;mobi.monaca.plugins.Monaca&quot; for android No ALTQ support in kernel ALTQ related functions disabled pf disabled plugin add…(Continue Reading)

monacaでローカルにテキストドキュメント(.txt)を残しそれを読み書きしたいです。

投稿者: Anonymous monacaにサンプルでメモアプリがありますが、ローカル(ios上)にテキストドキュメントを残していないようなのでファイルをFileRead/Writeするような形でメモアプリを作成したいです。 htmlは <textarea id=”text” placeholder=”テキストを入力してください。”></textarea> <br /> <button id=”btndownWrite”>ファイル作成/書き込み</button> <button id=”btndownRead”>ファイル読み込み</button> というのを考えており、 とりあえずでいいので btndownWriteを押したらローカルにファイル(テキストドキュメント[.txt])を作成しtextの文字を書き込む(すでにあったら追記する)、 btndownReadを押したらローカルにあるファイル(テキストドキュメント[.txt])をtextに表示する。 ようなものを作りたいです。 無知ですがよろしくお願いします。 解決 Cordovaのファイルプラグインというものを使って実現できますので、まずはご自身でもう少しお調べになってみてください。下記ページなどが参考になると思います。 http://docs.monaca.mobi/cur/ja/reference/phonegap_34/ja/file/ http://gihyo.jp/dev/serial/01/phonegap2/0004 回答者: Anonymous

基本的なサンプルページの表示が上手くいかない

投稿者: Anonymous 基本的なことで大変恐縮です。 http://components.onsen.io/patterns これの上段中央(犬とおじさん)の画面なんですが「Profile」の文字が中央にいきません。 プレビューではちゃんと表示されるのですがビルドする「Profile」の文字が左によってしまいます。 プロジェクトは最小限のテンプレートです。 どなたかご教授いただけると幸いです。 よろしくお願い致します。 解決 Onsen UIのons-toolbarを使う場合、Androidで実行するとタイトル部分が自動的に左寄せになります。これは、Androidではネイティブのツールバーのタイトルが左寄せになるのがデフォルトであるのでそれに合わせているからです。 この動作を抑制したい(タイトルを中央寄せにしたい)場合には、ons-toolbarにfixed-style属性を追加するとうまくいくと思います。 <ons-toolbar fixed-style> … </ons-toolbar> http://ja.onsen.io/reference/ons-toolbar.html#attributes 回答者: Anonymous

MonacaアプリでiPhone版の画面が通知領域まで影響してしまうのを防ぐ方法

投稿者: Anonymous お世話になっております。 MonacaアプリでiPhone版の画面が通知領域まで影響してしまうのを防ぎたいです。 <meta name=”viewport” content=”width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no”> このソースのheight=device-heightの部分で、縦の画面サイズをデバイスに合わせるものだと思っておりますが、解釈が間違っているのでしょうか? 文字やボタンが通知領域に重なって表示されているのを、重ならないように設定したいと考えております。 ご指摘よろしくお願い致します。 解決 通知領域と言うのはステータスバーのことでしょうか? そうであればステータスバープラグインを使用しましょう。 StatusBar.overlaysWebView(false); 設定 > Cordovaプラグインの管理から確認してください 回答者: Anonymous

monaca Onsen UI で setActiveCarouselItemIndex() エラーがでます。

投稿者: Anonymous monaca+onsen uiで、アプリの勉強をしております。 monaca は、「Onsen UI V2 Angular 1 Minimum」を選択し、新規プロジェクトを作成しました。 参考ページとして 「Onsen UIを使ってスワイプで切り替えられるタブを実装する」 http://cly7796.net/wp/javascript/to-implement-a-tab-to-be-switched-in-the-swipe/ を見つけましたので、そのプログラムをmonacaに入力してテストしました。 スワイプで画面遷移はできたのですが、タブをクリックすると、 TypeError: tab.setActiveCarouselItemIndex is not a function というエラーがでます。 該当箇所のhtmlファイルは、 <ons-carousel var=”tab” swipeable auto-scroll ng-style=”tabHeight”> <ons-carousel-item ng-repeat=”belong in belongData.belongs”> (表示内容) </ons-carousel-item> </ons-carousel> となっており、jsファイルは、 $scope.changeTab = function(index) { tab.setActiveCarouselItemIndex(index); } となっております。 まだ勉強を始めたばかりで、もしかするとonsen uiのバージョンが関係するのかと思いましたが、よくわかりませんでした。 何かヒントでもいただけると助かります。 どうぞよろしくお願いいたします。 解決 v2では一部のAPIが変更されています。 setActiveCarouselItemIndex()はv2.0.0-beta.9でsetActiveIndex()にリネームされました。 v2のAPIドキュメントの日本語版はまだ用意されていないようですので、さしあたりこちらの英語版を参照してください。 https://onsen.io/v2/docs/js.html 回答者:…(Continue Reading)

monacaでjQueryが使えません

投稿者: Anonymous プログラミング初心者です。 monacaを使ってAmazon Linux上のデータベースにあるデータを表示するアプリを作っています。 JS/CSSコンポーネントの追加から「jQuery バージョン:3.4.1」を選択し、 <script src=”components/jquery/jquery.min.js”></script> でロードするように設定しました。 しかし実行していると「Uncaught TypeError: $ is not defined」と出てしまいます。 調べてみるとjQueryのファイルそのものの呼び出しが行われていないか、javascriptと干渉しないようにjQueryの’$’を認識させない設定になっているとのことなので、$の箇所をjQueryに直してみたのですが、「jQuery is not defined」と出てしまいます。やはり正しくjQueryが読み込めてないということなのでしょうか。 また「Uncaught ReferenceError: define is not defined」とも出てしまったのですが、こちらに関しては検索しても中々出てこなかったので何のエラーなのか分からないです… どなたかご教授をお願い致します。 _x000D_ _x000D_ <!DOCTYPE HTML>_x000D_ <html>_x000D_ <head>_x000D_ <meta charset=”utf-8″>_x000D_ <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”>_x000D_ <meta http-equiv=”Content-Security-Policy” content=”default-src * data: gap: content: https://ssl.gstatic.com; style-src * ‘unsafe-inline’; script-src * ‘unsafe-inline’…(Continue Reading)

htmlからjsの呼び出し

投稿者: Anonymous Monacaのサンプルのメモ帳アプリにあるjsのlocalstrageを応用してアプリを作っています。 そこでそのサンプルがhtmlからjsを呼び出しているのですが、<script src=””></scropt>のようなパターンでなくどう呼び出しているのかわかりません。 html <!– Add Memo Page –> <div data-role=”page” id=”AddPage”> <header data-role=”header” data-position=”fixed” data-theme=”c”> <a data-role=”button” data-rel=”back” data-icon=”back”>Back</a> <h1>Add Memo</h1> </header> <section data-role=”content”> <label for=”Memo”>Memo:</label> <textarea id=”Memo”></textarea> <a data-role=”button” data-icon=”check” id=”SaveBtn”>Save</a> </section> </div> js ///// Save memo function saveMemoList(list) { try { localStorage.setItem(“memo_list”, JSON.stringify(list)); } catch (e) { alert(‘Error saving to…(Continue Reading)

MONACAアプリ内部のHTMLへのアクセス

投稿者: Anonymous MONACAアプリでHTMLファイルをダウンロードして (場所はcdvfile://localhost/persistent/test.htmlとします。) 上記のファイルをInAppBrowerで開きたいのですが、 アドレスをどのように設定すればよいのでしょうか? ダウンロードしたファイル名(iFunBoxではmonaca/Documents)の一覧が表示されています それをクリックすることでブラウザを開く予定です function readFileで開く予定です <!DOCTYPE HTML> <html> <head> <meta charset=”utf-8″> <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”> <script src=”components/loader.js”></script> <link rel=”stylesheet” href=”components/loader.css”> <link rel=”stylesheet” href=”css/style.css”> <script> var directoryEntry; document.addEventListener(‘deviceready’, init, false); function init() { //window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, getFilesFromDirectory, fail); window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, getFilesFromDirectory, fail); document.getElementById(‘download’).addEventListener(‘click’, downloadFile, false); } function getFilesFromDirectory(fileSystem) { //directoryEntry…(Continue Reading)

monacaでnend広告を開くとアプリに戻れなくなる

投稿者: Anonymous monacaでnend広告を開くとアプリに戻れなくなりまして、過去のスタックオーバーフローの質問を見たりネットの情報を見たりして試行錯誤しているのですがうまくいきません。 以下の二つのサイトを見て作成しております。 monacaでnend広告を別ウインドウで開く方法 http://hatopp.wpblog.jp/archives/102 このサイトの通り作成したのですが、広告をクリックしても起動したアプリに戻れないため、window.openのプログラムが走ってないのかなと思いました。それともこのプログラムでは実装できないのでしょうか? また、私のアプリは広告をクリックしても反応が悪くて数秒後にサイトが開くという形となっています。 上記のプログラムでクリック後に早くサイトを開かすためにはどのようにしたらよろしいでしょうか? 以上の2点をご教授頂けたら幸いです。よろしくお願いします。 解決 おそらくsetTimeout()で指定した時間内に広告が表示されないためにaタグが取得できず、既存ブラウザではなくCordova WebViewを開いて表示している可能性があります。 実際にMonacaデバッガーなどでaタグを取得しているか検証した方がよろしいかと思います。 反応が悪い原因は、 1.Cordova WebViewを開く場合に多少時間を要する。 2.通信速度が遅い。 のいずれかが考えられます。 aタグを取得できるまで何回か繰り返すことで回避できるかと思います。 addEventListener(“load”, function() { var count = 0; var timer = setInterval(function() { var nendAdAnchors = []; var nendAdSpace = document.querySelector(“div[id^=nend_adspace]”); if (nendAdSpace != null) { nendAdAnchors = nendAdSpace.querySelectorAll(“a”); } if (nendAdAnchors.length > 0) { clearInterval(timer);…(Continue Reading)