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

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

2
innerHTML内でクリックイベントを取得するにはどうすればよいですか?
私は動的に作成されたこのレイアウトを持っています: for (let i = 1; i < 10; i++) { document.querySelector('.card-body').innerHTML += `<div class="row" id="img_div"> <div class="col-12 col-sm-12 col-md-2 text-center"> <img src="http://placehold.it/120x80" alt="prewiew" width="120" height="80"> </div> <div id="text_div" class="col-12 text-sm-center col-sm-12 text-md-left col-md-6"> <h4 class="name"><a href="#" id="title` + i + `">Name</a></h4> <h4> <small>state</small> </h4> <h4> <small>city</small> </h4> <h4> <small>zip</small> …

1
ドラッグ可能な比較
Konva jsのような無限のドラッグのようなものを実現したいです。私はいろいろなことを試しますが、どれも問題ありませんでした。私はp5jsとjavascriptの新機能です。ヒントをお願いします。この要素だけでは、プロジェクト全体を完了できません。 var grid; var current_img; var BgCat1 = []; var layerOne; let show_grid = false;

4
CSSのすべてのテキストを垂直方向に配置するにはどうすればよいですか?
問題は次のように、特定の文字のようですg、y、q斜面の下には、垂直方向のセンタリングを可能にするものではないことを、尾を持っている、など。ここに問題を紹介する画像があります。 緑色のボックスの文字は、下向きの尾がないため、基本的に完璧です。赤いボックス内の問題は、問題を示しています。 すべてのキャラクターを完全に垂直方向に中央揃えにしてください。画像では、下向きの尾を持つ文字は垂直方向に中央揃えされていません。これを修正することは可能ですか? ここに問題を完全に示すフィドルがあります。 .avatar { border-radius: 50%; display: inline-block; text-align: center; width: 125px; height: 125px; font-size: 60px; background-color: rgb(81, 75, 93); font-family: "Segoe UI"; margin-bottom: 10px; } .character { position: relative; top: 50%; transform: translateY(-50%); line-height: 100%; color: #fff; } <div class="avatar"> <div class="character">W</div> </div> <div class="avatar"> <div class="character">y</div> …

1
PWAアプリケーションのJavaScriptを使用してデバイスレベルの通知をオンまたはオフに検出する方法
私の要件は、JavaScriptを使用してAndroidデバイスでデバイスレベルの通知のオン/オフを検出する方法です(このプラグインがPWAアプリケーションをサポートしている場合にのみプラグインを使用できるプラグインは使用しないでください)。 通知がオフの場合と同様に、ポップアップをユーザーに表示する必要があるので、通知を受け取る通知機能を有効にしてください。 以下の回答は、探偵のブラウザレベルの通知専用です。どなたかご存知の方どうしたらいいか正確に答えてください。なぜなら、私はそこで止まりました。 ユーザーがここで画像を確認してください。ユーザーが一度無効にすると、通知を送信できません。

3
JSエンジンはNaNのビットを変更できますか?
JavaScriptでは、NaN値は、内部的には広範囲の64ビットdoubleで表すことができます。具体的には、次のビットごとの表現を持つ任意のdouble: x111 1111 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx NaNとして解釈されます。私の質問は、ArrayBuffersを使用して2つの32ビットuintをJS番号にキャストし、渡してから、2つの32ビットuintにキャストするとします。復元されたビットは元のビットと同じですか、それともJSエンジンはNaNのビットを自由に変更できますか?言い換えれば、JS番号を使用して64ビットを無損失で格納できますか?

2
OAuthポップアップのクロスドメインセキュリティReact.js
ポップアップ(window.open)を使用してReactにOAuthを実装する方法に興味があります。 たとえば、私は持っています: mysite.com —これがポップアップを開く場所です。 passport.mysite.com/oauth/authorize - 現れる。 主な質問は、window.open(ポップアップ)とwindow.opener(既知のように、クロスドメインセキュリティのためにwindow.openerがnullであるため、使用できないため)間の接続を作成する方法です。 ⇑ window.openerあなたは(セキュリティ上の理由のために)別のホストに移動したときに削除され、その周りに方法はありません。可能であれば、フレーム内で支払いを行うことが唯一のオプションです。最上位のドキュメントは同じホストにとどまる必要があります。 スキーム: 可能な解決策: ここでsetInterval説明されている方法を使用して、開いているウィンドウを確認します。 クロスストレージを使用する(それだけの価値はありません)。 では、2019年に推奨される最善のアプローチは何でしょうか? Reactのラッパー-https ://github.com/Ramshackle-Jamathon/react-oauth-popup

2
カスタムエンドポイントで既存のAPIを拡張する
複数のお客様向けのAPIを作成しています。のようなコアエンドポイント/usersはすべてのお客様が使用しますが、一部のエンドポイントは個別のカスタマイズに依存しています。したがって、ユーザーAが特別なエンドポイントを必要/groupsとしており、他の顧客がその機能を持たない可能性があります。補足として、これらの追加機能のために、各顧客は自分のデータベーススキーマも使用します。 私は個人的にNestJ(内部ではExpress)を使用しています。したがって、app.module現在すべてのコアモジュールが登録されています(独自のエンドポイントなどで) import { Module } from '@nestjs/common'; import { UsersModule } from './users/users.module'; // core module @Module({ imports: [UsersModule] }) export class AppModule {} この問題はNestJとは関係がないと思うので、理論的にはどのように対処しますか? 基本的に、基本的なシステムを提供できるインフラストラクチャが必要です。各拡張は一意であり、複数の/users実装が可能であるため、コアエンドポイントはもうありません。新しい機能を開発するときは、コアアプリケーションに触れないでください。拡張機能はそれ自体を統合するか、起動時に統合する必要があります。コアシステムはエンドポイントなしで出荷されますが、これらの外部ファイルから拡張されます。 いくつかのアイデアが思い浮かびます 最初のアプローチ: 各拡張機能は新しいリポジトリを表します。すべての拡張プロジェクトを保持するカスタム外部フォルダーへのパスを定義します。このカスタムディレクトリにはgroups、groups.module import { Module } from '@nestjs/common'; import { GroupsController } from './groups.controller'; @Module({ controllers: [GroupsController], }) export class GroupsModule {} …

5
React Hooks-useStateと単なる変数の使用
React HooksはuseStateオプションを提供し、私は常にHooksとClass-Stateの比較を見ます。しかし、フックといくつかの通常の変数はどうですか? 例えば、 function Foo() { let a = 0; a = 1; return <div>{a}</div>; } 私はフックを使用しませんでした、そしてそれは私と同じ結果をもたらすでしょう: function Foo() { const [a, setA] = useState(0); if (a != 1) setA(1); // to avoid infinite-loop return <div>{a}</div>; } それで、違いは何ですか?その場合、フックの使用はさらに複雑になります...それで、なぜそれを使い始めるのですか?

6
インデックス/反復数に従ってForループで間隔時間を動的に変更する方法は?
コメントできなかったので、この投稿を強要されました。私は正確に1秒または1000ミリ秒を遅延/待機する以下のコードを取得しました- let n = 5; for (let i=1; i<n; i++) { setTimeout( function timer() { console.log("hello world"); }, i*1000 ); } コードスニペットを実行する結果を非表示スニペットを展開 しかし、どうすれば固定の1000ミリ秒ではなくi * 1000秒遅延させることができるので、待機は反復回数に依存しますか? たとえば、n = 5の場合、最初の反復で1秒のループ遅延が必要です。2番目の反復で2秒、以下同様です。最後の遅延は5秒です。
12 javascript  wait 

6
履歴に追加せずにvue-routerにプッシュする方法は?
次のシーケンスが発生しています。 メインスクリーン ロード画面 結果画面 ホームページで、誰かがボタンをクリックすると、私はそれらをロード画面に送ります: this.$router.push({path: "/loading"}); そして、タスクが完了すると、それらは結果画面に送信されます。 this.$router.push({path: "/results/xxxx"}); 問題は、通常、結果からメイン画面に戻りたいが、クリックすると再びロードに送られ、結果に戻るため、無限ループに陥ってしまい、アクセスできないメイン画面に戻ります。 これを修正する方法はありますか?私は理想的には次のようなオプションがあったらいいのに: this.$router.push({path: "/loading", addToHistory: false}); 履歴に追加せずにルートに送信します。

4
onClickハンドラーでパラメーターを渡す最良の方法
これは私がインライン矢印機能を使用してonClickdiv のルートを変更している私のコンポーネントですが、パフォーマンスの点で良い方法ではないことを知っています 1.インライン矢印関数 changeRoute (routeName) { console.log(routeName) } render() { return ( <> <div onClick={() => this.changeRoute("page1")}>1</div> <div onClick={() => this.changeRoute("page2")}>2</div> </> ) } 2.コンストラクターバインディングを使用する場合、小道具をどのように渡すことができますか? constructor() { super(props) this.changeRoute = this.changeRoute.bind(this) } changeRoute (routeName) { console.log(routeName) } render() { return ( <> <div onClick={this.changeRoute}>1</div> <div onClick={this.changeRoute}>2</div> </> ) } 3. …

5
material-ui 'createSvgIcon'は '@ material-ui / core / utils'からエクスポートされません
アラートコンポーネントを使用するためにmaterial-ui / labをインストールしましたが、インポートすると次のimport Alert from '@material-ui/lab/Alert';ようになります。コンパイルに失敗し、このエラーがスローされます。 ./node_modules/@material-ui/lab/esm/internal/svg-icons/SuccessOutlined.js Attempted import error: 'createSvgIcon' is not exported from '@material-ui/core/utils'. だから私はこの問題をグーグルで調べてmaterial-ui/lab/AutoCompleteコンポーネントに関する別の質問を見つけました(この質問とまったく同じです)、受け入れられた答えはmaterial-ui / coreをバージョン4.9.9に更新することでした、そしてそれは尋ねた人にとってはうまくいったようです、悲しいことに、私にとってはそうではありません。インストールされているすべてのmaterial-uiのこのバージョンがあります。 "@material-ui/core": "^4.9.9", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "^4.0.0-alpha.48", だから今私はあなたにこの問題を解決する別の方法があるかどうかをみんなに尋ねています、ありがとう

2
同期イテラブルでの待機に使用する
MDNによると for await...of、2つのユースケースがあります。 このfor await...ofステートメントは、非同期反復可能オブジェクトだけでなく、同期反復可能オブジェクトに対してもループするループを作成します... 私は以前に前者を知っていました:を使用しSymbol.asyncIteratorた非同期反復可能オブジェクト。しかし、今は後者に興味があります。同期イテラブルです。 次のコードは、同期イテラブル(promiseの配列)を反復処理します。それは、各約束の履行の進展を妨げるように見えます。 async function asyncFunction() { try { const happy = new Promise((resolve)=>setTimeout(()=>resolve('happy'), 1000)) const sad = new Promise((_,reject)=>setTimeout(()=>reject('sad'))) const promises = [happy, sad] for await(const item of promises) { console.log(item) } } catch (err) { console.log(`an error occurred:`, err) } } asyncFunction() // "happy, …

6
コンピューターをスリープ状態にしたユーザーをWebサイトからログアウトさせる
これは奇妙なものです。私たちはLaravelのWebサイトを持っており、このサイトにはユーザーごとにタイマーがあり、起動する前に15分間非アクティブになります。 これは、reactコンポーネントのページにあるタイマーを介して行いますが、期待どおりに機能しますが、今では新しい問題があります。ユーザーがログインしてラップトップのふたを閉じると、Webサイトはそれらを起動するはずです。銀行がこれを行い、学校や大学がこれを行い、政府機関もこれを行います。したがって、それは可能です。 laravel-websocketsライブラリとEcho を使用して、Webソケットを使用します。私が見たいのは: ラップトップを閉じると、ログイン画面が表示されます。したがって、次にラップトップを開いてログインすると、ログイン画面にブラウザが表示されます。それはそれほど迅速に発生する必要はありませんが、基本的にページを更新するように指示する何かをフロントエンドに送信する方法が必要です。セッションが強制終了されると、15分のlaravelでセッションライフタイムを設定します。 一部の人々は他の同様の質問で提案しました: カスタムWebソケットハンドラーを作成するには (ブラウザの)セッションCookieをバックエンドのユーザーCookieと比較します。 フロントエンドでタイマーを実行するには(ラップトップの蓋を閉じるとタイマーが停止します) 最も人気のあるものは、Webソケットを使用していて、ユーザーが切断してから起動するのをリッスンしていますが、これで問題ありませんが、一時停止しているブラウザーにリクエストを送信してから起動するにはどうすればよいでしょうか。 requestIdleCallback()を見つけましたが、サイトにすでにハートビートタイマーがある場合は、これが必要だとは思いません。また、すべてのブラウザで機能するわけではありません。 私はこれを達成する方法についてここで非常に迷っています、私が与えることができる例は次のとおりです: 銀行にログインし、コンピューターをスリープ状態にして、15〜20分待ってからコンピューターを起動し、ログインして、銀行にログイン画面が表示されることを確認します。それが私が欲しいものです。しかし、私はそれを達成する方法を知りません。 バックエンドから「スリープ中」のブラウザにイベントを送信することはできません。はい、これはバックエンドのソリューションでなければなりませんが、フロントエンドを更新して、ラップトップを再起動したときにログアウト画面に表示されるようにする方法を教えてください。またはコンピュータ?

4
フロントエンドまたはバックエンドのどちらでJSONを処理するほうが高速ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2か月前に閉鎖。 APIからの応答をjson応答として取得しています。私はPythonでバックエンドをコーディングしています。 フロントエンドチームは、UIに入力するために未加工のjson応答からの情報を必要とするため、jsonを注文し、情報を取得しやすくする必要があります。 これで、jsonを特定の形式で注文してフロントエンドチームにプッシュするか、生のjsonレスポンス*をフロントエンドチームに渡して、jsonの注文を処理してUIでさらに使用できるようにすることができます。 私のjsonファイルのサイズは15MBです。 どちらがより速く、より良い設計原則ですか? バックエンドで処理してからフロントエンドにプッシュするか、フロントエンドで処理しますか?

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