Node.jsで特定の文字列から固有のidを作成する方法について

投稿者: Anonymous 現在、uuid-by-stringを使用しています。 uuid-by-stringを使用すると、基本的には被らないuuidが作成されるのですが const getUUID = require(‘uuid-by-string’); console.log(“おっぱい:”+getUUID(“おっぱい”)); console.log(“ちっぱい:”+getUUID(“ちっぱい”)); とすると、何故かuuidが被って、どちらも同じidで おっぱい:A8BE6F3B-3DED-4879-8A0B-4705EEBAF673 ちっぱい:A8BE6F3B-3DED-4879-8A0B-4705EEBAF673 が生成されてしまうみたいです。 例が下品な単語ですみません…。 日本語には対応していないのでしょうか? 他に何か日本語文字列から、固有の英数字idを生成する方法はないでしょうか? 解決 他に何か日本語文字列から、固有の英数字idを生成する方法はないでしょうか? 大きく分けると、ハッシュ値を使う方法と、ASCII の範囲に収まる方式でエンコードする方法があります。 ハッシュ値を使う方法は、文字列が長くても得られる ID の長さを一定に出来ます。 しかし、元の文字列が長すぎなければ、エンコードしてそのまま ID に使えるかも知れません。 (UUID の例にはuuid モジュールを使用しています。uuid-by-string というモジュールより信頼できると思います) “use strict” // ハッシュ値の16進表記 const crypto = require(“crypto”) function mkhash(str) { //const hash = crypto.createHash(“md5”) //const hash = crypto.createHash(“sha1”) const hash = crypto.createHash(“sha256”) hash.update(str)…(Continue Reading)

html2canvasでキャプチャした画像が空になる

投稿者: Anonymous html2Canvasの DOMを画像に書き出す方法 を参考にさせていただき、コードを書いたのですが、 スクリーンショットを撮るボタンを押しても、空の画像ファイルが生成されるだけです。 クリアボタンも効きません…。 私が、ターゲットとなるdivの中で、img srcにphp変数を使用しているからなのでしょうか? しかしローカルファイルに置換してもダメでした。 <div id=”target_screen”> <?php echo “<img class=”effectedImage” src=”$image”>”; ?> </div> テストとして、この画面下部にスクリーンショットを表示しようとしていますが、 最終的には、取得した画像を別のphpへpostしたいと考えています。 ご教授願います。 解決 HTMLページと同じオリジン(由来、大抵ドメインで決まります)の画像を使用していますか? Canvas要素に別オリジンの要素を描画した場合、そのCanvas要素の内容は取り出せなくなります。 セキュリティ上の制約です。 この制約がないと、本人しか閲覧できないはずの写真をJavaScriptで盗む、といった事が可能になるからです。 自分が所有しているサーバ同士であれば、同じオリジンとして扱う方法もあるようです。https://developer.mozilla.org/ja/docs/Web/HTML/CORS_enabled_image 回答者: Anonymous

Obtener al presionar imagen para insertar en editor

publicado por: Anonymous Buenos días compañeros. Una duda enorme. Hay posibilidad de que al presionar una imagen esta me de su <img src= “”> lo digo porque estoy implementando un editor con ckeditor pero quiero que al presionar la imagen esta se ponga en el editor. Una cosa que pude hacer es mediante un botón,…(Continue Reading)

obtener los objetos que se repiten en un array de objetos JSON con javascript (JQuery)

publicado por: Anonymous Pongo a modo de ejemplo el siguiente array de objetos en JSON: [{“id”:”aaa”,”uns”:”123″},{“id”:”bbb”,”uns”:”023″},{“id”:”aaa”,”uns”:”123″},{“id”:”ccc”,”uns”:”765″},{“id”:”ddd”,”uns”:”256″}]. Me gustaría obtener un array con los objetos repetidos (obsérvese que en el ejemplo se repite el objeto con id:aaa),algo así: [{“id”:”bbb”,”uns”:”023″},REPETIDOS[{“id”:”aaa”,”uns”:”123″}],{“id”:”ccc”,”uns”:”765″},{“id”:”ddd”,”uns”:”256″}] ¿Cómo podría obtener los elementos repetidos con javascript/Jq?con un array simple lo consigo, pero con un array…(Continue Reading)

Enviar datos en array a otra página para hacer una consulta php

publicado por: Anonymous Buenas tardes, tengo el siguiente select para elegir los temas que quiero elegir para hacer un test de preguntas y pasarlos a otra página php donde hace la consulta de las preguntas de cada tema, es decir, según los temas que elija en el select, me hara un listado de preguntas. Lo…(Continue Reading)

Ayuda con objeto en js acceder a propiedades

publicado por: Anonymous Normalmente accedo a las propiedades de los objetos asi: nombre = body.first_name; El problema es que la ruta la recibo por parametro. var ruta=”first_name” y al poner nombre= body.ruta; intenta acceder a la propiedad ruta y no a la propiedad first_name solución Para acceder a una propiedad basta acceder mediante los brackets…(Continue Reading)

¿Como usar serialize en un formulario con input de tipo File?

publicado por: Anonymous Tengo un formulario en html para registrar un producto para ello uso ajax, cuando hago un serialize al formulario logro obtener todos los campos del mismo a excepción del campo de tipo file se que con FormData(), puedo obtener este campo pero me gustaría saber hay un manera con serialize para obtenerlo.…(Continue Reading)

Formato inválido – Bootstrap Datetimepicker

publicado por: Anonymous Buenas! Estoy realizando un proyecto en el que uso un par de Datetimepickers para delimitar fechas en una consulta. Uso Firefox y todo estaba bien, es cuando pruebo en Chrome y me aparece lo siguiente: No me agarra el formato que tenía fijado por el código de Javascript (soy bastante nuevo en…(Continue Reading)

Select dinamicos en php y js por el metodo POST

publicado por: Anonymous El siguiente código corresponde a la consulta e información obtenida de la DB MySQL: <?php $conexion = new PDO(“mysql:host=localhost;dbname=scouts_601_palmira”,”root”,””); $Id = $_POST[‘Id’]; echo ‘<script type=”text/javascript”>alert(“‘.$Id.'”);</script>’; $sql = “SELECT Id, Nombre FROM Especialidades WHERE Id_eje = ‘:$Id'”; $sentencia = $conexion -> prepare($sql); $sentencia -> bindParam(‘:$Id’, $Id, PDO::PARAM_STR); $sentencia -> execute(); $resultado = $sentencia…(Continue Reading)

html videoタグの制御に関する質問です。

投稿者: Anonymous 以下のように複数のvideoタグがあり、どれかが再生された時に既に再生されているものを停止する(常に再生されているものは1つ)という実装はどのようにすれば行えるでしょうか。 <video id=”myvideo1″ class=”video-js” controls autoplay preload=”none” onclick=”this.play()” onplay=”trackMoviePlay(1)” style=”width: 100%;position: relative; height: 190px;” poster=”<?= $get_item[“img”]; ?>” data-setup=”{}”> <source src=”<?= $videos[“mp4″]; ?>” type=’video/mp4′> <source src=”<?= $videos[“mp4″]; ?>” type=’video/quicktime’> </video> <video id=”myvideo2″ class=”video-js” controls preload=”none” onclick=”this.play()” onplay=”trackMoviePlay(2)” style=”width: 100%;position: relative; height: 190px;” poster=”<?= $get_item[“img”]; ?>” data-setup=”{}”> <source src=”<?= $videos[“mp4″]; ?>” type=’video/mp4′> <source src=”<?= $videos[“mp4”];…(Continue Reading)

FirefoxでのJavascriptによるGamepadAPIを使ったXBOX360コントローラー

投稿者: Anonymous 現在、Javascriptによるゲームフレームワークを作成しています。 主要なブラウザのうち、ChromeとFirefoxへの対応を行っていたのですが、ファミコンのようなUSBゲームパッドと、XBOX360用のUSBゲームコントローラーに対応していました。 しかし、最近のFirefoxではXBOX360コントローラーの値が取れなくなりました(Chromeでは問題ありません)。 値の取り方は以下のコードになります(CoffeeScriptです)。 gamepadsinfo = if (navigator.getGamepads) then navigator.getGamepads() else (if (navigator.webkitGetGamepads) then navigator.webkitGetGamepads else []) ネットをいろいろと検索したのですが、みなさん問題なく使えているのか、はたまたXBOX360コントローラーにはあまり関心が無いのかわかりませんが、情報がほとんどありません。 FirefoxでのXBOX360コントローラーの値を、Javascriptから取得する方法はありますでしょうか? もしくは私がなにか間違っているのでしょうか。 解決 Firefox は、 gamepadisconnected イベントを取ることを推奨しているようですので、ゲームのメインループ内で上記をしないのなら、以下のコードで取得を試みるべきです。(私の環境でも、1度目の getGamePads() の呼び出しは失敗することがありました。 ) window.addEventListener(“gamepadconnected”, function(e) { var gp = navigator.getGamepads()[e.gamepad.index]; console.log(“gamepad[%s]: button.length=%d”, gp.id, gp.buttons.length); }); …が! 今度は Chrome が gamepadisconnected イベントを持たないため、おかしなことになるので、Chrome 用には、定期的なポーリングをするのがよいようです。 var interval; if (!(‘ongamepadconnected’ in window))…(Continue Reading)

Node.jsのコールバックの連鎖の中でメモリ解放を行う方法

投稿者: Anonymous createHoge, createFuga, execPiyo の三つメソッドがあります。 createHoge, createFuga はとても大きなデータを生成する関数で、データを生成したらコールバックを呼び出すものです execPiyo は、createHoge, createFuga で生成したデータを処理する関数で、データ処理が完了したらコールバックを呼び出すものです。 createHoge(function(hoge) { createFuga(function(fuga) { execPiyo(hoge, fuga, function() { console.log(“1piyo done.”); // この時点で hoge, fuga を破棄したい createHoge(function(hoge) { createFuga(function(fuga) { execPiyo(hoge, fuga, function() { console.log(“2piyo done.”); }); }); }); }); }); }); このようなコールバック呼び出しの連鎖で実行できるものとします。で、連続して execPiyo を何回も実行したい時にcreateHoge, createFugaで生成したhoge, fuga をメモリから解放できずに困っています。 RxJSやPromiseやgeneratorを使ってcreateHoge, createFuga, execPiyoの実行を複数回書いてみたんですが、どのやり方でもメモリを食いすぎて途中で落ちてしまいます。 補足: createHoge,…(Continue Reading)

¿Es necesario inicializar un objecto en angular?

publicado por: Anonymous Tengo una clase externa export class como template para un objeto. export class Car{ name: Boolean; other: { prize: String; brand: String; }; doors: { number: String, size: String, }; } Intento acceder a ella desde otra clase, por lo que he creado una nueva variable var car= new Car(); Como name…(Continue Reading)

ブラウザの戻るボタンで戻ったときにリロードする方法はありますか?

投稿者: Anonymous ブラウザの戻るボタンで戻った時、最新のページを読み込みたいのですが、可能でしょうか? IE10または11でできればOKです。 以下のコードで試してみたのですが、うまくいきませんでした。よろしくお願いします! <script> <!– window.onunload = function(){location.reload();} –> </script> 常に強制リロードで解決は出来ましたが却下されました。やはり「戻る」限定で行いたいです。 $(function(){ if (window.name != “re_load”) { location.reload(); window.name = “re_load”; }else{ window.name = “”; } }); 解決 JavaScriptではなくサーバー側で戻る対象のページのHTTPヘッダーに Cache-Control: no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0 Pragma: no-cache のように指定してキャッシュを無効化すべきだと思います。 回答者: Anonymous

beforeunloadイベントを利用した確認ダイヤログの表示で、チェックボックスを表示させない

投稿者: Anonymous 現在フォームを作成し、フォームで戻るボタンを選択した際にアラートを表示させるようにしています。 その際「このページでこれ以上ダイアログボックスを生成しない」とメッセージとチェックボックスが表示されるため、このメッセージとダイヤログをJSで非表示にする設定はございますでしょうか? ブラウザ側で制御する方法は見つかったのですが、システム側で非表示にする設定が見つからず どなたかご教授頂ければと存じます。 確認したブラウザは、クロームのバージョン 57.0.2987.133 になります ご回答頂く際はJSはでもJqueryでも問題ございません。 恐れ入りますが、よろしくお願いします _x000D_ _x000D_ <div class=”entryProfile-buttonWrapper–fb flex”>_x000D_ <div>_x000D_ <a class=”btn btn-flat-facebook w-80-percent” href=”/users/auth/facebook?is_business=false”>_x000D_ Facebookで登録・ログイン </a>_x000D_ </div>_x000D_ </div>_x000D_ _x000D_ <form accept-charset=”UTF-8″ action=”/registration” class=”new_user” id=”js-registrationForm” method=”post”>_x000D_ <div class=”form-group row”>_x000D_ <div class=”col-xs-3 text-left”>_x000D_ <span class=”text-bold”>姓(全角漢字)</span>_x000D_ </div>_x000D_ <div class=”col-xs-4″>_x000D_ <input class=”form-control placeholder-no-fix” id=”user_profile_attributes_last_name” name=”user[profile_attributes][last_name]” placeholder=”内田” type=”text”>_x000D_ </div>_x000D_ </div>_x000D_ <input class=”btn…(Continue Reading)

Obtener valores de inputs dinamicos javascript

publicado por: Anonymous Estoy tratando de crear un arreglo bidimensional con datos dinamicos. Esos datos son pedidos al usuario a traves de unos inputs. El programa primero te pide el tamaño de la matriz y a partir de eso se generan unos inputs dinamicos con base en el orden que escogiste. El problema es que…(Continue Reading)

Limitar cantidad de opciones seleccionables en un

publicado por: Anonymous Tengo este select múltiple: _x000D_ _x000D_ <select multiple=”” class=”form-control” name=”evaluador[]” id=”evaluador”>_x000D_ <option value=”1″>Casa</option>_x000D_ <option value=”2″>Apartamento</option>_x000D_ <option value=”2″>Finca</option> _x000D_ </select> _x000D_ _x000D_ _x000D_ Lo que necesito es que solamente me permita seleccionar dos de las opciones que se muestran para enviarlo a una base de datos. solución Puedes hacerlo con jQuery: $(“select#evaluador”).change(function ()…(Continue Reading)

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

jQueryを使ってテーブルの複数行を表示、非表示にしたい

投稿者: Anonymous 表を作成していて初期は隠し行ありの状態でその行をクリックすれば隠し行すべてが表示されるものを作成しております。 現状下記サイトを参考にして作成したのですが、1行しか開閉できません。(初期状態で残りの行も見えてしまう) http://kachibito.net/snippets/expand-table-rows-using-jquery-html-and-css 複数行開閉する方法があれば教えて頂きたくお願いします。尚、理想の画面は次の通りです。 初期 _x000D_ _x000D_ <style type=”text/css”>_x000D_ #table_detail tr:hover{_x000D_ background-color:#ddd;_x000D_ cursor:pointer;_x000D_ }_x000D_ #table_detail .hidden_row{_x000D_ display:none;_x000D_ }_x000D_ </style>_x000D_ <script src=”http://code.jquery.com/jquery-1.11.1.js”></script>_x000D_ <script>_x000D_ function show_hide_row( row ) { $( “#” + row ).toggle(); }_x000D_ </script>_x000D_ _x000D_ <!DOCTYPE html>_x000D_ <table border=1 id=”table_detail” align=center cellpadding=10>_x000D_ _x000D_ _x000D_ <tr onclick=”show_hide_row(‘hidden_row1’);”>_x000D_ <td colspan=”4″>第一次会員様</td>_x000D_ </tr>_x000D_ <tr id=”hidden_row1″ class=”hidden_row”>_x000D_ <th>名前</td><td>住所</td><td>電話番号</td><td>グループ</td>_x000D_…(Continue Reading)

umd形式でのみ提供されているブラウザ用ライブラリのReactによる動的読み込みとその完了検知の方法

投稿者: Anonymous React.js を用いて Web サイトを開発しています。 モジュール形式で提供されていない、<script> タグで読みこんでグローバルオブジェクト(window)に追加されたオブジェクトを利用するタイプの外部スクリプトを、React.js でうまく扱う方法についての質問です。 たとえば、決済代行業者 PAY.JP が提供する payjp.js はまさにそのパターンで、素の HTML の場合は以下のようにして利用できます: <!– 外部スクリプトのロード –> <script src=”https://js.pay.jp/v2/pay.js”></script> <!– ロードしたスクリプトを用いて各種処理を実行 –> <script> // スクリプトによってグローバル空間に定義された `Payjp` を用いる const payjp = Payjp(‘API キー’) payjp.foo() // 何らかの処理 </script> こういった外部スクリプトを React.js で扱う場合、以下のような問題点があると考えます: <script> を書く位置を気を付けないと、コンポーネントのライフサイクルの中でスクリプトが二重にロードされることがある グローバル空間にロードが完了したタイミングを動的に検知する必要がある 1 については、コンポーネントではなくテンプレート HTML 側に <script> を記述したり、Next.js のようなテンプレートがないフレームワークでは Layout コンポーネントの中で <script> を記述することで、何とかなると思っています。…(Continue Reading)

Descargar tabla HTML a excel desde evento de un botón

publicado por: Anonymous Quiero hacer una exportación de una tabla html a excel. Sé que para hacerlo normalmente se utiliza esto: header(‘Content-type: application/vnd.ms-excel’); header(“Content-Disposition: attachment; filename=NombreArchivo; header(“Pragma: no-cache”); header(“Expires: 0”); Pero lo que hace esto es que cuando entro a la tabla descarga inmediatamente el excel pero…¿Cómo puedo hacer para descargar el archivo al presionar…(Continue Reading)

Como optimizar función de sumar días a una fecha en JavaScript?

publicado por: Anonymous Conseguí la siguiente función en Javascript para sumarle días a una fecha, pero me parece que hace muchos pasos innecesarios, como podría optimizarla? function MostrarFechaT() { var d = document.getElementById(‘dias’).value; if (d == 0) { alert(“No has ingresado el nu00famero de du00edas”) var fechaFinal = “”; } else { var Fecha =…(Continue Reading)

RegExp sobre nombres compuestos

publicado por: Anonymous necesito una expresión regular para validar nombres en un formulario. Debe de validar tanto nombres simples como compuestos, pero solo compuestos por dos palabras, José Manuel sería válido mientras “De La Rosa” no lo sería. También debe validar que la primera letra sea mayúscula y el resto minúscula, además de no tener…(Continue Reading)

¿Cómo validar en JavaScript si un objeto tiene una propiedad?

publicado por: Anonymous Tengo el objeto equis, y supongamos que quiero el valor equis.valorFantasma Pero yo no se si existe la propiedad valorFantasma, ¿cómo valido que exista antes de tomar su valor? _x000D_ _x000D_ function funcion(){_x000D_ //alert(‘boton presionado’);_x000D_ _x000D_ var existePropiedadFantasma = false;_x000D_ _x000D_ var equis;_x000D_ _x000D_ existePropiedadFantasma = typeof equis.propiedadFantasma !== ‘undefined’;//equis.propiedadFantasma ? true:false;_x000D_…(Continue Reading)

¿Cómo ejecutar una función antes de que submit haga la validación del formulario?

publicado por: Anonymous Tengo un formulario bastante grande. Algunos de los campos los he divido por secciones y se pueden ocultar con Toggle() para que no molesten mientras se rellenan los demás campos. El prolema aparece cuando el usuario envia los datos. Al hacer click en submit se hace una validacón automática y obtengo errores…(Continue Reading)

Javascript ¿como meter un array asociativo en otro array?

publicado por: Anonymous Pues eso meter un array asociativo bajo la forma. var tabla[]; tabla[‘nombre’]=’Jose’; mi codigo es el siguiente: _x000D_ _x000D_ var regs = [];_x000D_ var usuario = [];_x000D_ usuario[‘nombre’] = ‘Jose’;_x000D_ usuario[‘dni’] = ‘45875458X’;_x000D_ regs[0] = usuario;_x000D_ _x000D_ usuario[‘nombre’] = ‘Fernando’;_x000D_ usuario[‘dni’] = ‘52487125G’;_x000D_ regs[1] = usuario;_x000D_ var sx = regs[0].nombre;_x000D_ var sy…(Continue Reading)

¿ Cuál es el objetivo de usar bind(this) en un método en JS?

publicado por: Anonymous ¿Por qué en el método filter tengo que usar .bind(this) como sigue: onChange={this.filter.bind(this)}, en vez de solo usar el método filter sin .bind(this) como en onChange={this.filter}? export default class TodoList extends React.Component { filter(event) { this.props.store.filter = event.target.value } render() { return <div> <h1>toDos</h1> <input className=”filter” onChange={this.filter.bind(this)} /> </div> } } solución…(Continue Reading)