クッキーに似ている別物機能を使って、汎用ランダムからくりを実践します。 localStorageで保存するのは、ランダム化した最後の背番号だけです! たった1つの数値のみ記憶させます!! そんな関数を使います?



外部URLを参照するアイ・キャッチ静止画
(英語版WordPressでの呼称名: featured image
本ページ内、参照元75x75画像へ位置決めする。 利用に感謝!


関連記事

過去記事: localStorageを利用したシーケンシャルからくり_ があります。


人の脳の記憶力

人によっては疑いを計算します。 それを「かん」と言うのでしょうか? 特にランダム化した一連の曲の最後の曲と、次回のランダム化した最初の曲とが同じ場合、人の脳はランダム処理の不完全性を感じるのかも知れません。 そこで本記事で取り上げるランダム化の*5 javascript関数の呼び出し第3引数のtrue .or. false指定、それ次第によって、ランダム化した一連の曲の最後の曲と、次回のランダム化した一連の曲の最初の曲とが同じ場合に、連続しないように、たった1個の配列の呼び出し背番号だけを、訪問者のブラウザーに記憶し、連続させないように処理しています。

*2 localStorageの悪夢

*5 javascriptを使うには免許無用です。 小学生でも利用可能! 初心者開発者は何でもかんでも*2 localStorageで訪問者のブラウザーに保存させるかも知れません。 容量の大きな情報を*2 localStorageで保存する運用は地獄であって悪夢であって品位を疑われます! 「クッキーと同じように規制しよう!」と圧力が発生します? 当記事での運用は、1つの整数を1つの変数名で記憶するだけです。

実証実験

30日間キャッシュ保存されるMP3音源配信用の外部超圧縮済みの*5 javascriptデーターの内容を改訂しました。 場所は、それぞれのブログ・システムに埋め込んでいる GOOGLE TRANSLATOR の下に配置したスピーカー画像をクリックします。 見当たらなければ、https: //motpresse.fs4y.com/ newentry/ #google_translate_element移動願います。

実証実験の効能:
  1. スピーカー画像をタップすると、MP3音源再生プレイヤーが表示されます。
  2. 2023/03/14時点ではありますが、2曲目以降、続く6曲のクラシックギター奏者”山本采和”さんの曲目だけがスピーカー画像をタップする毎にランダムに配置されます。
    2023/03/14現在は6曲をランダムに配置します。 これが本記事で紹介する”からくり”です。
  3. 最新のデーターに更新されないと、あなたのブラウザーが上手く動作しないかも知れません:
    1. 当ブログでは30日間ブラウザーにキャッシュ保存させます。
    2. 30日以内の再訪問時はインターネットを介した通信を行いません。
      インターネット通信網の数々の通信機材で発生する電力浪費を抑制します。(SDG) そして、あなたのプロバイダーとの有料契約による通信量を無駄に消耗させません。
    3. インターネットを介して強制的に通信して情報を更新する必要がある場合: ブラウザーがChromeであれば:”SHIFT+F5”で通信を強要出来ます。
      新しいシークレットウィンドウ(CNTRL+SHIFT+N)で訪問すれば確実にインターネットを介した通信を行います。

    初めての訪問なら煩雑な操作は全く必要ありません!
  4. MP3音源はGoogleドライブを利用して配信しています。 よって、未確認ですが、Google社が撤退を決めた国からはMP3音源を聞けません!

new *1 Array()

*5 javascriptで1つの配列変数を定義しました。

音源のアドレスと、音源のコメントを連続して配列変数RandomMusicsに定義しています。 2つのデーターで1組です。 筆者はミスが多いので、1つの配列変数で一極管理します。

ランダム化関数と*2 localStorage

  1. var Counter2023 = new Array();
    空の配列変数を定義し
  2. for(var Z=0 ; Z < ( RandomMusics.length / 2 ) ; Z++ ) Counter2023.push( Z );
    空の配列変数にシーケンシャルな数値をRandomMusicsの今回は配列総数の2分の1をカウントし埋め込みます。
    *4 push
    例: Counter2023[ 0, 1, 2, 3, 4, 5 ]
  3. function shuffleNUM(array,INC,FLAG,SAVENAME){}
    参考にしたコンテンツは”JavaScriptでランダムな配列を作成する”_です。 独自に改訂しました!
  4. Counter2023 = shuffleNUM(Counter2023,2,true).concat();
    concat()の定義は無用かも知れません。 配列変数を指定しますが、配列を移動するのではなくて、あくまでも配列を呼び出す背番号(数字)をランダム化します。 少しでもブラウザーの負担を軽減させます。

関数 shuffleNUM

訪問者のブラウザーに負荷を与えないために、データーを埋め込んだ配列は何ら変更しません。 配列を呼び出す数字が埋め込まれた配列をランダム処理します。

  1. 第一引数:
    配列変数を指定します。
  2. 第二引数:
    配列の組数を指定します。指定しなければ数値の1が代入されます。 今回は2組です。
  3. 第三引数:
    true指定すると、*2 localStorageが機能します。 ランダム化順位が次回に連続しない処理を行います。 *3 setItem()機能によって、ランダム化した配列呼び出し番号を保存します。
  4. 第四引数:
    文字列を指定すると、localStorageのデーター名となります。

配列を呼び出す

組み替えていないオリジナルの配列を、ランダム化した呼び出し用の数字の配列から間接的に指定します。

RandomMusics = null;

筆者の心の病気なのか、筆者独自の流儀として、利用しなくなった変数を訪問者のブラウザーのメモリーから積極的に開放します。

メリット

音源配信の管理者は好きなタイミングで*1 Array()を自由に再構築できる。 すなわち今日10曲を追加出来るし、明日5曲を削除できる。 訪問者が1万人だったとしても破綻しない。 読者の多くが気付かれていると思いますが、配列変数を増やせば、グループ管理が可能です。

バージョン管理

*1 Array()の構造を、今、変更したいなら以下の構文を*5 javascriptの先頭に追加すればよい。 どんな制約も受けない自由過ぎる”からくり”である。

FACEBOOK(Meta)

日本語漢字カタカナ順
FACEBOOK العربية (アラビア語)
FACEBOOKと通信を開始して、ここに表示する
FACEBOOK Bahasa Indonesia (インドネシア語)
FACEBOOKと通信を開始して、ここに表示する
FACEBOOK English (英語)
FACEBOOKと通信を開始して、ここに表示する
FACEBOOK Español (スペイン語)
FACEBOOKと通信を開始して、ここに表示する
FACEBOOK Japanese (日本語)
FACEBOOKと通信を開始して、ここに表示する
FACEBOOK हिन्दी (ヒンディー語)
FACEBOOKと通信を開始して、ここに表示する
FACEBOOK Français (フランス語)
FACEBOOKと通信を開始して、ここに表示する

記事の改訂の告知について

DISQUSコメントで案内します。
DISQUSコメントにログインし、DISQUSコメント枠の一番下段の左端のメール・シンボルをクリックすれば、DISQUSコメントがあれば自動的にメールで知らせてくれます。 再度クリックすれば、メール通知を停止できます。 記事末尾のDISQUSコメントの表示が小さくてスレッドのデザインが狭過ぎると思うなら、DISQUSコメント本尊に接続_してみてください。


※ 記事本文は別サーバーから JavaScriptファイルとして配信しており、配信元のサーバーにおける JavaScriptファイル(YUICOMPRESSOR済み)も、実際にあなたのブログが受信する gzip圧縮済みの JavaScriptファイルも、30日間のキャッシュ流用を定義していますので、特にご質問の前にブラウザーのキャッシュを削除してから、再度のご訪問と閲覧をお願い致します。
※ DISQUSについては別管理ですので、毎回、最新のDISQUSを表示できています。 但し、ご自分のDISQUSコメントを編集した直後に編集後の内容に至らない場合がありますが、DISQUS表示の上部にある「あなたの言語でDISQUSメニューを再表示する!」をクリックしますと最新の状況を表示致します。 宜しくご理解願います。

※ どれだけ待ってもDISQUSが表示されない場合は「広告ブロック」機能を切ってみて下さい。
Google Translator.

良いブログと利用できないブログ


  • CLICK!