JavaScriptの質問をしたり答えたりする掲示板

2019-01-29に作成

JavaScriptに関する質問を何でもしていい掲示板です。匿名での投稿も可能です。どんなことでもどしどし書き込んでください。回答もどなたでも自由にできます。僕も回答できる内容であれば必ず回答します!

質問は下記に沿って書いていただくと回答しやすくなります。

  • 実際のソースコードがある場合、可能な範囲で書いていただくと問題点を見つけやすくなります。
  • 実際に発生したエラーメッセージがある場合、コピペしていただくと問題解決につながる可能性が高いです。
  • 見た目上の問題の場合、スクリーンショットを貼ると状況が把握しやすくなります。
person
(匿名) #eaef64df
comment
1

このサイトにあるようなGoogle ReCAPTCHAはどのようにして、画像を選択させるポップアップを出しているのですか?

押し付けな質問で申し訳ございません、、、


person
(匿名) #cced4f90
comment
6

https://d-suga.com/1935
「【jQuery】グローバルナビゲーションで現在のページ(カレントページ)にclassを自動追加」についてですが、ナビが入れ子の場合、入れ子のページを開くと親のaタグにも一緒にclassが自動追加されてしまいます。

入れ子のページを開いた場合は、入れ子ページにのみ、classが自動追加されるようにしたいです。

どのような記述に修正すればいいか教えてほしいです。
よろしくお願いします。

$(function(){
    $('#gNav li a').each(function(){
        var $href = $(this).attr('href');
        if(location.href.match($href)) {
            $(this).addClass('current');
        } else {
            $(this).removeClass('current');
        }
    });
});

locationオブジェクト、windowオブジェクト、imageオブジェクト、documentオブジェクトの説明を簡潔にまとめたいのですがどう説明すれば良いのでしょうか?
教えて下さると嬉しいです。


person
(匿名) #1274c4e8
comment
2

javascriptに関して質問します。

テーブルなどで複数のマスが並んでいて、各々のマスをクリックするとclassList.toggleやjqueryのtoggleclassによって色が付いたり消えたりするようなページがあります。
このようなページで「9つあるマスの内1個目と3個目がクリックされて色が付いている」という各マスの状態をLocalStorageなどに保存して、リロードしたり次回以降にドキュメントを読み込んだりしたとしてもリセットされることなく前回と同じ状態にすることは可能でしょうか?


なにか作ってて詰まった、とかじゃなくて単なる好奇心からの質問で大変恐縮なのですが、「null と undefined を区別して処理を分けないと困る」ようなシチュエーションってあるのでしょうか?

js の処理系の実装側にとって null と undefined は別物というのはわかるのですが、アプリ書く側にとってはそんなのどっちでも同じ例外処理に飛ばせばいいだけで、区別しなきゃならない理由なんてないんじゃないか?この区別って言語実装者の自己満足なんじゃないか?
と、思ったのですが考えても答えが思いつかず...

国際版知恵袋の日本語版みたいな所でも質問してみて、回答がもらえなかったので js の識者っぽい人選んで50人ぐらい回答依頼してみてやっぱことごとく回答もらえなかった質問でしたので、こちらでも回答がなかったとしても別に落ち込みませんので ^^/ 変な質問だと思われましたら無視して流していただければとぞんじます次第です


react-bootstrap-tableを大量に使っているときのカラム管理のベストプラクティスを知りたいです。

bResultColumnsが該当箇所です。
jsonではformatterを記述できないので、jsで書いてexportするのがベストかなとは思っていますが。

const seasonFormatter=(cell,row)=>{
    if(row.league_id===null){
        return (<b>通算</b>)
    }else{
        return cell
    }
}

const gameFormatter=(cell,row)=>{
    if(row.game_date !== null){
        return moment(row.game_date).format('MM/DD')+'-'+row.game_number+'対'+row.opponent_name
    }else{
        return <b>{row.title}通算</b>
    }
}
const bResultColumns = [
{
        dataField: 'title',
        text: 'シーズン',
        classes:'int',
        formatter:seasonFormatter
    },
    {
        dataField: 'tpa',
        text: '打席数',
        classes:'int',
    },
    .....
    ]


お疲れ様です。
投稿型のサイトで、URL(外部)が入力されると、入力されたURLからOGP関連のタグをとってきて、自サイトにカード表示させたいなぁと思っています。こちらの実装ですがどのようにやるのが簡単なのでしょうか?
フワッとした質問ですみません。


alexa-appでの実装なのですが。
node-fetchで別サーバからjsonを取得してres.say()で音声応答を返すのですが、
console.log()内ではjsonの内容を表示できるものの、
res.say()に渡すとstringじゃないよと怒られます。

const Alexa = require('alexa-app');
const app = new Alexa.app('Sample');
const fetch = require('node-fetch')


const averageResponse = (req, res) => {
  var num = req.slots['num'].value
  console.log(num)
  fetch('https://******',
    {
      method:'GET',
      headers: { 'Content-Type': 'application/json' }
    })
  .then((response)=>{
    if(response.status === 200){
      return response.json()
    }
  })
  .then((json)=>{
    console.log(json['averageTop10'][num - 1])
    //console.log(res)
    //var json = JSON.parse(data)
    try {
      if(num <= 10){
         //console.log(typeof(String(json.averageTop10[num - 1].average)))
        res.say(''+json.averageTop10[num - 1].average).shouldEndSession(true)
      }  

    } catch (error) {
      console.error(error)      
    }
  })
  .catch((err)=>{
    console.error(err);
  })

コメントアウトしてますが、String()コンストラクタやtoString()メソッドで型変換試してもエラーがキャッチできず、処理も正常に終わってないようなのでちょっと悩み中です。
↓このあたり怪しいなーとは思ってheaderはつけてみましたが変わらず。
str.replace is not a function