カテゴリー
ホームページ製作

アクセスカウンタが2ずつ増える

アクセスカウンタを作ってみたら、2ずつ増え、その原因が分かりました。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPテスト</title>

</head>
<body>

<?php
$counter_file = 'counter.txt';
$counter_lenght = 8;

$counter = NULL;

$fp = fopen($counter_file, 'r+');

if ($fp){
    if (flock($fp, LOCK_EX)){
        $counter = fgets($fp, $counter_lenght);

        print('count:'.$counter);

        $counter++;

        print('count:'.$counter);

        rewind($fp);

        if (fwrite($fp, $counter) === FALSE){
            print('ファイル書き込みに失敗しました');
        }

        flock($fp, LOCK_UN);
    }
}

fclose($fp);

print('count:'.$counter);
?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>

<script>
$.ajax({
  type: 'GET'
}).done(function(data, status, xhr) {
  var serverDate = new Date(xhr.getResponseHeader('Date'));

  $('#server').text(serverDate);
});
</script>

<p>サーバーの設定時刻<br><span id="server"></span></p>

</body>
</html>

至って普通のアクセスカウンタを設置し、jqueryを読み込ませ、ajaxを読み込ませるだけ。そうすると、アクセスカウンタが2ずつ増加した。

分かったこと

  • アクセスカウンタは、読み込み時は増えない。+1足した時と書き込み時+1増える。
  • jqueryとajaxの場所を移動させても、アクセスカウンタは2ずつ増える。
  • ajaxを失くすと、アクセスカウンタは1ずつ増える。
  • jqueryを失くすと、アクセスカウンタは1ずつ増えるが、ajaxは動かない。
  • jqueryにdefer,asyncを加えると、アクセスカウンタは1ずつ増えるが、ajaxが動かない。
  • jqueryにdefer,asyncを加え、ajaxをonloadイベントで呼び出すと、アクセスカウンタは2ずつ増え、ajaxは動く。

【jqueryとajaxの関係が書かれたブログ】

アクセスカウンタが2ずつ増える原因と、jqueryとajaxの関係が分かりましたが、問題の解決はできませんでした。

カテゴリー
ホームページ製作

J3サイトの修正作業まとめ

【J3サイト一覧】
http://toushin.konjiki.jp/

  • bootstrap 4.6.0
  • jquery 3.5.1
  • popper 1.16.1
  • webpack 5.2.2

main.jsとsub.jsに別れていた。main.js 622kbで重い。

  • bootstrap 5.1.3
  • jquery 3.6.1
  • popper@core 2.10.2
  • webpack 5.6.0

main.jsに一本化。main.jsを軽くする。

  • ヘッダー、activeの書く位置が移動。
  • ハンバーガーメニューが開かない、動かない。
  • デフォルトのフォントが変化。
  • テーブルのth,tdの境界線の色が変化。
  • リンクにアンダーバーが付いた。

これらを旧タイプのデザインに近づける。

main.jsとstyle.cssの分離する作業をする。

旧main.jsでの点数。622kb。

新main.jsでの点数。448kb。

新main.jsとstyle.cssに分離する。167kb、93kb。

jsとcssを分離したら、点数が悪くなったけど、やりたかった作業なので、そのままにした。

【webpack5の参考サイト】
https://yumegori.com/webpack5-setting-method

【npm install後のパッケージ確認】
https://dackdive.hateblo.jp/entry/2016/10/10/095800

【javascriptのimport】
https://qiita.com/TakamiChie/items/4d92c7e80a9d4cce0178

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import

【フォントの設定方法】
https://willcloud.jp/knowhow/font-family/

【bootstrap5の最低限取り入れ】
https://qiita.com/shouchida/items/2c3fc4586de66a067dfd

https://bootstrap-guide.com/customize/sass

【bootstrap5のナブバー、ナブトグル】
https://bttb.jp/bootstrap5/index.php?strkey=navbar%20navbar-expand-lg%20navbar-dark%20bg-dark

【aria-current=”page”の意味】
https://temari.co.jp/blog/2021/07/12/aria-current-2/

次回はクリックカウンターを付けたい。google apps scriptでなんとかなりそう。

カテゴリー
ホームページ製作

JQueryなどで気になったサイト

JQuery、webpack5、npmで気になったサイト

【bootstrap5】
https://bootstrap-guide.com/layout/grid

【JavaScriptのswitch】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/switch

【JavaScriptのthis】
https://www.webopixel.net/javascript/901.html

【JQueryのeachメソッド】
https://itsakura.com/jquery-each

【webpack5】
https://www.webdesignleaves.com/pr/css/sass_webpack.html

【node,npmでのバージョン確認】
https://dackdive.hateblo.jp/entry/2016/10/10/095800

カテゴリー
ホームページ製作

JavascriptとJQueryの比較

JavascriptとJQueryの比較について、下記リンク先が参考になりました。

https://qiita.com/shshimamo/items/ba3a57a81d9780030969

カテゴリー
ホームページ製作

div idに自動連番をつける

div idに自動連番をつけるときに参考になったサイト。

http://yoseik.sakura.ne.jp/unknown/2014/06/15/%EF%BD%8Aquerycss-%E9%80%A3%E7%95%AA%E3%82%92%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E4%BB%98%E4%B8%8E%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/