JS(javaScript)ファイルを動的に再読み込みする方法。
2021.10.13
今日は朝からメールで書類提出してクラウドワークスの仕事に何か良いものはないかなどを見ておりましたがありません?。
さて、JS(javaScript)ファイルを動的に再読み込みする方法のオリジナルコードを書きましたので、お裾分けします。前々の会社で JS(javaScript)ファイルを動的に再読み込みしないとJSが動作しないという何ともやるせない気持ちの仕様があり、その時は人様のコードを拝借して使っていましたが、今日はクラウドワークスなどの案件もないのでちゃちゃっと自分でコードを書きました?。同じように困っている方はご使用くださいな?
https://zip358.com/tool/demo67/
ちょっと愚痴?
そもそも前々の会社のオリジナルMVCはいろいろと欠陥だらけで且つ仕様書もない、何が正解なのかも教えてもらえない中、修正やらしていたので本当に大変でした。聞いても明確に答えてもらえないのは正直な所、大変です。後任にはちゃんと教えていたら良いのですがね。
"use strict";
document.querySelector("button").addEventListener("click",jsandcssreload);
function jsandcssreload(){
let d = (new Date()).getTime();
[...document.querySelectorAll("link")].forEach((elm)=>{
elm.href = elm.href.replace(/(\.css)\??[0-9]{0,}$/,".css?" + d);
});
[...document.querySelectorAll("script")].forEach((elm)=>{
elm.src = elm.src.replace(/(\.js)\??[0-9]{0,}$/,".js?" + d);
});
}
上手く行かなかった場合の対応.
[...document.querySelectorAll('script')].forEach(elm => {
let script = document.createElement('script');
script.src = elm.src;
document.body.appendChild(script);
});
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
'src', addEventListener, createElement, css, document.querySelector, document.querySelectorAll, elm, foreach, getTime, gt, href, javascript, jsandcssreload, quot, quot;button", quot;use, script, src.replace, strict", 後任,
PHP8になって厳格になった、後任ごめんなさい。書いてないです。static…
2021.09.11
今日は9.11同時多発テロが起きた日です、ご冥福をお祈りします。もう20年も前になるのですね、昨日のようにその出来事を覚えています、それぐらい印象に残っています、20年ということはこの事を知らない世代もいるでしょうね。
さて、タイトル通り「PHP8になって厳格になった、後任ごめんなさい。書いてないです。static…」の件ですがPHP8になって厳格に記述しないといけなくなったようです。 static などの宣言を書いていないと動かなくなってしまいました。前前職ではそのような記述が多くあります、もともとPHP5.6のシステムを改修してPHP7対応したのですが、PHP8に移行する時に動かなくなる部分があるかと思います。インスタンス化して動かしている所は影響受けないかもしれないけれど、 インスタンス化せずに動かしているところもあり、そこに static を書いていなかったと思います。
ごめんなさい、負の遺産を作ってしまいました。改修のほどよろしくお願いいたします。まだレンタルサーバーでPHP8に強制移行している会社はないかと思いますが・・・それでも今から改修していたほうが良いかと思います。
<?php
class foo{
public $foo = "!!!!";
public function hoge(){
return "foo".self::$foo;
}
}
print foo::hoge();
<?php
class foo{
public static $foo = "!!!!";
public static function hoge(){
return "foo".self::$foo;
}
}
print foo::hoge();
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
20, 5.6, 7, 8, 9.11, https, php, static, インスタンス, お祈り, こと, ご冥福, システム, そこ, それぐらい, タイトル, テロ, ところ, 世代, 事, 今日, 件, 出来事, 前, 前職, 印象, 厳格, 同時, 多発, 宣言, 対応, 影響, 後任, 所, 改修, 日, 昨日, 時, 移行, 記述, 部分,