[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
761
(1): (スプッッ Sd62-Gkow [1.75.215.110]) 2023/03/19(日)19:55 ID:xryn/wmcd(1) AAS
>>755
怖いも何もパーサーがきっちり仕事してる証拠じゃないの?
コメントを書きたいって需要に対してはJSON5やJSONCって派生規格があるから
それらを検討するべき
762: (ワッチョイ 2279-1FFK [27.132.129.202]) 2023/03/19(日)20:23 ID:M92RK9ru0(4/5) AAS
何が理由かは置いといて技術を含めた社員がごっそり半数も辞めてる状況だとその会社から賞与もまともには出ないだろう
Edgeへの移行時期としてもかなり遅れてるし有給消化しつつ転職活動に専念した方がいいね
763
(1): (ワッチョイ 2279-1FFK [27.132.129.202]) 2023/03/19(日)20:33 ID:M92RK9ru0(5/5) AAS
>>761
規格はあれど既存の環境に適用できるものではないのがな
JSONとして扱う前にJSONCとしてコメント抜く前処理でも通すか
764: (スップ Sd42-Gkow [49.97.109.220]) 2023/03/19(日)22:37 ID:SC8SOdGAd(1) AAS
>>763
パーサーにケチつけてるよりはその方が建設的でしょうよ
765: (アウアウウー Sa9b-jnF6 [106.133.163.48]) 2023/03/20(月)03:23 ID:iV2jn8x9a(1/2) AAS
>>738
VSCode の拡張機能では、

open in browser では、ローカルファイルアクセスになる。
この場合、CORS など、ブラウザの色々な制限がある

file:///C:/Users/Owner/Documents/test/index.html

一方、Live Server では、
自分のPC 内にサーバーを立ててから、そこから配信されるので、テストしやすい

外部リンク[html]:127.0.0.1:5500
省3
766: (アウアウウー Sa9b-jnF6 [106.133.163.48]) 2023/03/20(月)04:02 ID:iV2jn8x9a(2/2) AAS
>>743
Promise.all/allSettled とか?
767
(1): (ワッチョイ a3ad-a1qf [210.250.191.46]) 2023/03/20(月)19:47 ID:PTBUy+ct0(1/4) AAS
chromeの拡張機能で、「ngWord.json」内のデータを「background.js」経由で「content_script.js」に格納しようとしていたのですが、上手くいきません。コードでおかしな点等あれば、ご教授頂けないでしょうか。

【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
// content_script.jsにデータを送信
chrome.runtime.sendMessage({ngWords: data});
});

【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
省5
768
(1): (ワッチョイ c603-MaqH [153.222.136.198]) 2023/03/20(月)19:56 ID:hUotJVz90(1/5) AAS
>>767
バックグラウンドからタブに送信するならchrome.tabs.sendMessageじゃないかな?
769
(1): (ワッチョイ a3ad-a1qf [210.250.191.46]) 2023/03/20(月)20:37 ID:PTBUy+ct0(2/4) AAS
>>768
「タブ」というのは、「content_script.js」のことでしょうか?
だとすると「chrome.tabs.sendMessage(tabId: content_script.js, ngWords: data)のように書く感じでしょうか。
770: (テテンテンテン MM4e-7n5R [133.106.242.180]) 2023/03/20(月)20:53 ID:mlA7fjwPM(1) AAS
雑な方法としてはアクティブなタブに送ればいいんちゃう?
771: (ワッチョイ c603-MaqH [153.222.136.198]) 2023/03/20(月)21:36 ID:hUotJVz90(2/5) AAS
>>769
そうです。background から content_script に送信する場合はchrome.tabs.sndMessage だったと思いますよ
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sndMessage(tabs[0].id,{
ngWordsg:data
})
}})
というような感じで
772: (ワッチョイ f761-ItkS [124.86.236.22]) 2023/03/20(月)21:40 ID:xjtq7KFo0(1/2) AAS
最初にコンテンツスクリプト側から何かメッセージ送れば
バックグラウンド側のchrome.runtime.onmessage.addListenerのsender.tab.idでタブID取れるっしょ
773: (ワッチョイ c603-MaqH [153.222.136.198]) 2023/03/20(月)21:49 ID:hUotJVz90(3/5) AAS
それならtab.id必要なくてsendResponseで返せるんじゃないかな?
774: (ワッチョイ a3ad-a1qf [210.250.191.46]) 2023/03/20(月)21:53 ID:PTBUy+ct0(3/4) AAS
【background.js】
fetch('ngWord.json')
.then(response => response.json())
.then(data => {
chrome.tabs.query({active:true,(tabs)=>{
chrome.tabs.sendMessage(tabs[0].id,{ngWords:data})
});
};

【content_script.js】
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
省6
775: (ワッチョイ c603-MaqH [153.222.136.198]) 2023/03/20(月)22:00 ID:hUotJVz90(4/5) AAS
そもそもngWord.jsonの中身とれてますか?ローカルファイルならweb_accessible_resources書いてchrome.extension.getURLで取るんじゃないでしょうか?
776: (ワッチョイ f761-ItkS [124.86.236.22]) 2023/03/20(月)22:04 ID:xjtq7KFo0(2/2) AAS
もしかしてスクリプト本当にそれだけなの?
だとしたらcontent_script.js実行される前にbackground.js終わってそう
777
(1): (ワッチョイ a3ad-a1qf [210.250.191.46]) 2023/03/20(月)22:24 ID:PTBUy+ct0(4/4) AAS
申し訳ありません、私の知識不足で、よく分かりません。もう一度格闘して、改めて質問させて頂きます。ご教授下さり、ありがとうございます。
778: (ワッチョイ c603-MaqH [153.222.136.198]) 2023/03/20(月)23:58 ID:hUotJVz90(5/5) AAS
>>777
めっちゃ適当なこと言ってましたわ
web_accessible_resourcesとchrome.extention.getURLは関係ないっぽいです

まずcontent_scriptが実行されるタイミングでbackgroundからタブにデータを送れるはずなくて
かといってcontent _scriptからメッセージ送ってbackgroundでfetchしたデータを送ろうとしてもセキュリティー的になのか送れない

なのでbackgroundでfetchしたjsonをchrome.storage.local.setで保存してcontent _scriptからchrome.storage.local.getで読み込むが正解っぽいです

暇だったんで...
779: (アウアウウー Sa9b-jnF6 [106.146.108.71]) 2023/03/21(火)04:01 ID:rEPYZ+tza(1) AAS
漏れはプロジェクトを作って、index.ts に、TypeScript で以下を書いて、
npm/yarn, webpack, babel でビルドすれば、
import で、JSON ファイルやLodash も読み込めるけど

import WordData from "./word_data_tmp.json";
console.log( WordData.length )

const ary = [ ...Array( 5 ).keys( ) ]
// => [0, 1, ....,4]

import shuffle from 'lodash.shuffle';

console.log( shuffle( ary ) );
// => シャッフルされる
780: (ブーイモ MMbf-LIH3 [49.239.65.144]) 2023/03/25(土)14:02 ID:MQIuadNDM(1) AAS
Next.jsでAPI Routesを使わないのは一般的でしょうか?
1-
あと 222 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s