タグ付けされた質問 「javascript」

ECMAScript(JavaScript / JS)とそのさまざまな方言/実装(ActionScriptを除く)でのプログラミングに関する質問。このタグが単独で使用されることはほとんどありませんが、ほとんどの場合、[node.js]、[jquery]、[json]、および[html]タグに関連付けられています。

4
.json()がPromiseを返すのはなぜですか?
私はfetch()最近、APIをいじり回していて、少し風変わりなことに気づきました。 let url = "http://jsonplaceholder.typicode.com/posts/6"; let iterator = fetch(url); iterator .then(response => { return { data: response.json(), status: response.status } }) .then(post => document.write(post.data)); ; post.dataPromiseオブジェクトを返します。 http://jsbin.com/wofulo/2/edit?js,output ただし、次のように記述されている場合: let url = "http://jsonplaceholder.typicode.com/posts/6"; let iterator = fetch(url); iterator .then(response => response.json()) .then(post => document.write(post.title)); ; postObjectこれは、title属性にアクセスできる標準です。 http://jsbin.com/wofulo/edit?js,output だから私の質問は、なぜresponse.jsonオブジェクトリテラルでプロミスを返すのですか?

6
約束を複数回解決しても安全ですか?
アプリケーションに次のコードを含むi18nサービスがあります。 var i18nService = function() { this.ensureLocaleIsLoaded = function() { if( !this.existingPromise ) { this.existingPromise = $q.defer(); var deferred = this.existingPromise; var userLanguage = $( "body" ).data( "language" ); this.userLanguage = userLanguage; console.log( "Loading locale '" + userLanguage + "' from server..." ); $http( { method:"get", url:"/i18n/" + userLanguage, cache:true …

7
Node.jsの別のファイルからJavaScriptクラス定義を含める
私はNode.js用の単純なサーバーを作成しており、User次のような独自のクラスを使用しています。 function User(socket) { this.socket = socket; this.nickname = null; /* ... just the typical source code like functions, variables and bugs ... */ this.write = function(object) { this.socket.write(JSON.stringify(object)); } }; そして、後でプロセスの多くでそれをインスタンス化しています: var server = net.createServer(function (socket) { /* other bugs */ var user = new User(socket); /* more bugs …

12
<select multiple = multiple>から選択したすべての値を取得するにはどうすればよいですか?
奇妙なことに、これはすでに尋ねられたものを見つけることができませんでしたが、ここにあります! 私は次のようにhtmlを持っています: &lt;select id="select-meal-type" multiple="multiple"&gt; &lt;option value="1"&gt;Breakfast&lt;/option&gt; &lt;option value="2"&gt;Lunch&lt;/option&gt; &lt;option value="3"&gt;Dinner&lt;/option&gt; &lt;option value="4"&gt;Snacks&lt;/option&gt; &lt;option value="5"&gt;Dessert&lt;/option&gt; &lt;/select&gt; ユーザーがJavaScriptで選択したすべての値(配列?)を取得するにはどうすればよいですか? たとえば、ユーザーがランチとスナックを選択した場合、{2、4}の配列が必要です。 これは非常に簡単な作業のように思えますが、私にはできません。 ありがとう。
115 javascript  jquery  html 

12
Moment.js-明日、今日、昨日
私が欲しいmoment().fromNow()機能が、日が近づいたときに、それはあまりにも正確である-元。「3時間以内」ではなく「今日」を表示したくないので、基本的に「毎日」の精度で表示します。 moment().calendar()関数を使用してみましたが、日付の差が1日を超えるとフォーマットされません

7
useEffectの非同期関数に対するReactフックの警告:useEffect関数はクリーンアップ関数を返すか、何も返さない必要があります
私は以下のようなuseEffectの例を試していました: useEffect(async () =&gt; { try { const response = await fetch(`https://www.reddit.com/r/${subreddit}.json`); const json = await response.json(); setPosts(json.data.children.map(it =&gt; it.data)); } catch (e) { console.error(e); } }, []); コードスニペットを実行する結果を非表示スニペットを展開 コンソールにこの警告が表示されます。しかし、私が考える非同期呼び出しでは、クリーンアップはオプションです。なぜこの警告が出るのかわかりません。サンドボックスをリンクして例を示します。https://codesandbox.io/s/24rj871r0p

7
Angularでは、配列内のオブジェクトを検索する必要があります
Angularでは、たくさんのオブジェクトを返すオブジェクトをスコープ内に持っています。それぞれにIDがあります(これはフラットファイルに保存されているため、DBがありません。ユーザーが使用できないようですng-resource)。 私のコントローラーでは: $scope.fish = [ {category:'freshwater', id:'1', name: 'trout', more:'false'}, {category:'freshwater', id:'2', name:'bass', more:'false'} ]; 私の見解では、デフォルトでng-showmoreで非表示になっている魚に関する追加情報がありますが、単純なshow moreタブをクリックすると、関数を呼び出しますshowdetails(fish.fish_id)。私の関数は次のようになります: $scope.showdetails = function(fish_id) { var fish = $scope.fish.get({id: fish_id}); fish.more = true; } ビューに詳細が表示されます。ただし、ドキュメントを検索した後、そのfish配列を検索する方法がわかりません。 それでは、配列をクエリするにはどうすればよいですか?そして、コンソールでどのようにしてデバッガを呼び出して、$scopeオブジェクトを操作できるようにしますか?

8
jQuery text()と改行
言えるようになりたい $(someElem).text('this\n has\n newlines); そしてそれはブラウザの改行でレンダリングします。私が見つけた唯一の回避策は、csEプロパティ 'white-space'をsomeElemで 'pre'に設定することです。これはほとんど機能しますが、パディングを0に設定しても、テキストとsomeElemの上部との間にうっとうしいほど大きなパディングがあります。これを取り除く方法はありますか?
114 javascript  jquery  html 

6
JasmineでjQuery AJAXイベントを確認するにはどうすればよいですか?
Jasmineを使用して、基本的なjQuery AJAXリクエストのBDD仕様をいくつか作成しようとしています。現在、Jasmineをスタンドアロンモードで(つまりからSpecRunner.html)使用しています。SpecRunnerを設定して、jqueryおよびその他の.jsファイルをロードしました。以下がうまくいかない理由はありますか?has_returnedは、「ゆっぴ!」アラートは問題なく表示されます。 describe("A jQuery ajax request should be able to fetch...", function() { it("an XML file from the filesystem", function() { $.ajax_get_xml_request = { has_returned : false }; // initiating the AJAX request $.ajax({ type: "GET", url: "addressbook_files/addressbookxml.xml", dataType: "xml", success: function(xml) { alert("yuppi!"); $.ajax_get_xml_request.has_returned = true; } }); // …
114 javascript  jquery  ajax  jasmine  bdd 

7
CSSフィルターのみを使用して黒を特定の色に変換する方法
私の質問は:ターゲットRGBカラーが与えられた場合、CSSフィルター#000のみを使用して黒()をそのカラーに再調整する式は何ですかですか? 回答を受け入れるには、ターゲットの色を引数として受け入れ、対応するCSS filter文字列を返す関数を(任意の言語で)提供する必要があります。 このコンテキストは、内のSVGの色を変更する必要があることbackground-imageです。この場合、KaTeXで特定のTeX数学機能をサポートすることです:https : //github.com/Khan/KaTeX/issues/587。 例 ターゲットの色が#ffff00(黄色)の場合、正しい解決策は次のとおりです。 filter: invert(100%) sepia() saturate(10000%) hue-rotate(0deg) (デモ) 非目標 アニメーション。 非CSSフィルターソリューション。 黒以外の色から始めます。 黒以外の色に何が起こるかを気にします。 これまでの結果 固定フィルターリストのパラメーターの総当たり検索:https ://stackoverflow.com/a/43959856/181228短所:非効率的、16,777,216の可能な色の一部のみを生成します(676,248とhueRotateStep=1)。 SPSAを使用したより高速な検索ソリューション:https : //stackoverflow.com/a/43960991/181228 賞金を獲得 drop-shadow解決策: https://stackoverflow.com/a/43959853/181228 短所:んがエッジ上では動作しませ。filterCSS以外の変更とマイナーなHTMLの変更が必要です。 ブルートフォース以外のソリューションを送信することで、引き続き承認済みの回答を得ることができます! 資源 どのようにhue-rotateしてsepia計算されます。 https://stackoverflow.com/a/29521147/181228 例Rubyの実装: LUM_R = 0.2126; LUM_G = 0.7152; LUM_B = 0.0722 HUE_R = 0.1430; HUE_G = 0.1400; HUE_B …


3
angular.js ng-modelにjsonをロードする方法は?
おそらく非常に明白な質問だと思いますが、どこにも答えが見つかりませんでした。 サーバーからクライアントにJSONデータをロードしようとしています。現在、私はJQueryを使用して、AJAX呼び出しでそれをロードしています(以下のコード)。 &lt;script type="text/javascript"&gt; var global = new Array(); $.ajax({ url: "/json", success: function(reports){ global = reports; return global; } }); &lt;/script&gt; これはhtmlファイルにあります。これまでのところ機能しますが、問題はAngularJSを使用したいことです。今、Angularは変数を使用できますが、すべてを変数にロードできないため、for eachループを使用できます。これは通常、.jsファイルにある「$ Scope」に関連しているようです。 問題は、他のページから.jsファイルにコードをロードできないことです。Angularのすべての例は、次のようなものだけを示しています: function TodoCtrl($scope) { $scope.todos = [ {text:'learn angular', done:true}, {text:'build an angular app', done:false}]; したがって、これは便利です。IA)これをすべて手で入力したい場合、かつB)私のデータがすべて事前にわかっている場合... 事前に分からない(データは動的)ので、入力したくありません。 そのため、$ Resourceを使用してAJAX呼び出しをAngularに変更しようとしても、機能しないようです。理解できないかもしれませんが、JSONデータに対する比較的単純なGETリクエストです。 tl:dr外部データを角度モデルにロードするためにAJAX呼び出しを機能させることができません。

7
AngularJSサービスにモックを挿入する
AngularJSサービスを作成しており、それを単体テストしたいと思います。 angular.module('myServiceProvider', ['fooServiceProvider', 'barServiceProvider']). factory('myService', function ($http, fooService, barService) { this.something = function() { // Do something with the injected services }; return this; }); 私のapp.jsファイルにはこれらが登録されています: angular .module('myApp', ['fooServiceProvider','barServiceProvider','myServiceProvider'] ) DIが機能していることをテストできます。 describe("Using the DI framework", function() { beforeEach(module('fooServiceProvider')); beforeEach(module('barServiceProvider')); beforeEach(module('myServiceProvder')); var service; beforeEach(inject(function(fooService, barService, myService) { service=myService; })); it("can be …

7
JavaScriptがJSFiddleで機能しないのはなぜですか?
このJSFiddleの何が問題なのかわかりません。 HTML: &lt;input type="button" value="test" onclick="test()"&gt; JavaScript: function test(){alert("test");} そして、私がボタンをクリックしたとき-何も起こりませんでした。コンソールに「テストが定義されていません」と表示されます 私はJSFiddleのドキュメントを読みました-JSコードが追加され&lt;head&gt;、HTMLコードが追加されると書かれています&lt;body&gt;(したがって、このJSコードはhtmlよりも前であり、機能するはずです)。

5
Angularディレクティブの拡張
サードパーティのディレクティブ(特にAngular UI Bootstrap)に小さな変更を加えたいのですが。paneディレクティブのスコープに追加したいだけです。 angular.module('ui.bootstrap.tabs', []) .controller('TabsController', ['$scope', '$element', function($scope, $element) { // various methods }]) .directive('tabs', function() { return { // etc... }; }) .directive('pane', ['$parse', function($parse) { return { require: '^tabs', restrict: 'EA', transclude: true, scope:{ heading:'@', disabled:'@' // &lt;- ADDED SCOPE PROPERTY HERE }, link: function(scope, element, attrs, …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.