IT業界の技術をメモ・情報公開できる
firefoxでの離脱防止
FireFoxでは離脱防止の検知が厳しいためフォームのsubmit時にも出てしまう。 そのため送信時には離脱防止の検知を解除する必要がある。 window.addEventListener("beforeunload", function (e) { e.preventDefault(); e.returnValue = ""; }); がある場合に $(document).on('submit', 'form', function () { $(window).off('beforeunload'); }); submit前にbeforeunloadを解除する
safariでのoptionのhidden
safariではoptionタグにhidden属性が効かないので、削除することが推奨
PHPで最初の改行以降を削除
$text = "あいうえお\nかきくけこ\nさしすせそ"; $result = preg_replace('/[\r\n].*/s', '', $text); echo $result; // あいうえお
PHPでURLのデコード
現在のブラウザではPHPがURLを自動でデコードしてくれるので自らデコードする必要はない JavaScriptでエンコードしたデータは自動でデコードされないので必要
SQL_CALC_FOUND_ROWSの代わり
MySQL 8.0 では パフォーマンス上の理由で非推奨なので 件数を返す場合はCOUNT()を使うことを推奨
androidによるwebview不具合
【Flutter】Android14でのWebView表示不具合とその解決策 https://zenn.dev/yamashonozenn/articles/442874a7fa3dbc
遅くなるSQL文
大量データ + DISTINCT + SQL_CALC_FOUND_ROWS は遅い
htaccessでHTTPエラーページのカスタマイズ設定
サイトのルートディレクトリにhtaccessを置き、同じ階層にファイルを作る サーバー内部エラー ErrorDocument 500 /500.html サーバー内部エラー ErrorDocument 404 /404.html アクセス拒否 ErrorDocument 403 /403.html
phpでif文の書き方
<基本の if 文> if ($a > 10) { echo "大きい"; } else { echo "小さい"; } <三項演算子(?:)> echo ($a > 10) ? "大きい" : "小さい"; 条件 ? 真のとき : 偽のとき if の代わりに 値を返す書き方 <null合体演算子(??)> 「値が設定されていなければ別の値」を使いたいとき。 $name = $_GET['name'] ?? 'ゲスト'; 上記は下記と同じ意味 if (isset($_GET['name'])) { $name = $_GET['name']; } else { $name = 'ゲスト'; }
sshで検索
find 検索するディレクトリ -type f | xargs grep -i '調べたい文字' 2>/dev/null;