サイト運営の話」カテゴリーアーカイブ

IEでは他のブラウザと表示の仕方が違う

2019年10月26日

ホームページってブラウザによって見え方が微妙に違います。
最近ではIE環境での見え方が、他のブラウザと違うことが顕著になってきています。
マイクロソフトとしてもIEを使うことを推奨していないし、将来的に無くなるブラウザではあるのですが、使っている人が一定割存在する以上、対応しないとまずいです。

特にスマートフォン対応のためにflexboxを使った場合の違いが大きいです。
文字が列をはみ出して画面が崩れます。

</head>の上に
@media all and (-ms-high-contrast: none){p.resizeimage{
max-width: 350px;
}}
を入れると、IE環境の場合のみ、
p.resizeimage{max-width: 350px;}
が有効になります。

各列に400px幅のhaba400.gifという画像を挿入して
<img src=”haba400.gif” width=”400″ height=”1″ border=”0″>
と記述すると400px幅の列ができます。

そのままだとIE環境の場合は列幅の指定がうまくいかなく、文字だけはみ出るようになります。
<p class=”resizeimage”><img src=”haba400.gif” width=”400″ height=”1″ border=”0″></p>
のようにしてIE環境の場合のみ350px幅の列に指定できるようになり、文字がはみ出ないようになります。なお、350とか400は自分の環境に合わせて設定します。

2019年10月27日

IEで他のブラウザと違う見え方がするということで、改めてIEで自分のサイトを見てみました。
幅の広さが指定通りに、表示されていないのやら、罫線の色が黒くなっているのやら、いろいろ不具合が見つかりました。

罫線については
<TABLE bgcolor=”#fbe48c” >
<TBODY>
<TR>
<TDbgcolor=”#fdebd0″></TD>
</TR>
<TR>
<TDbgcolor=”#ffffff”></TD>
</TR>
</TBODY>
</TABLE>

という手法で色付きの罫線を表示していたのですが

スタイルシートの設定(</head>の上に)で

.line{
border: solid 1px #fbe48c;
}

を登録して
<TR class=”line”>
で罫線を入れるのに変更して解決しました。

時間の無駄遣いが増えている

5年前から読書、ホームページの全ページ大幅更新、資格取得、PHPの勉強などで、ずっと忙しくてテレビのドラマを見ながら他のことをしている状態が続いていたのですが、とりあえず完了しました。
ここ数か月は、いろんな物が壊れて、それを治すのに時間をとられていたりしたのですが、それも一息ついて当面することがありません。
それと関係しているのか、妙に一日中眠たいです。何もしないでテレビのドラマを見ていることが増えています。
テレビはドラマが好きで というより他の作業をしながら見るのに適しているのです。
凄く時間の無駄遣いをしているなあという感じなのです。

新しく興味がある事を見つけてはあるのですが、テレビを見ながらできるものではないし、それほど時間がかかるものでもないので、時間の無駄遣いの解消にはなりません。

なんかないかなあ?

WordPressでのテンプレートの不満をまとめて修正しました

2019年5月29日

WordPressのブログでsitemap-generator.php on line 45に関してWarning: Use of undefined constant ddsg_languageのエラーが出るようになりました。
ネットで検索したら、PHP7.2以降でエラー表示するようです。
https://www.seojuku.com/blog/sitemap-generator-php-warning.html#comment-2305
で解決法が掲載されていて無駄な時間を費やさなくて済みました。
ありがたい事です。

そこで気づいたことがありました。pluginsってPHPで出来ているんですよね。
じゃあ、pluginsとかWordpressとか自分で好きなように改造できるんじゃないかと

例えば、sitemapは、従来1ページに50記事しか表示されなく、全部で2000記事があり45ページもあるので全部見るのが大変なんです。
それでsitemapで最初にカテゴリ一覧が表示されて、カテゴリをクリックしたら、そのカテゴリに登録された記事を全部まとめて表示できるようにしたいです。

それと、カテゴリ別での表示の場合、カテゴリごとの最新ページ一覧を表示させたいです。

2019年5月30日

カテゴリ別での記事一覧表示は、WordPress Popular Posts と WPP Plus Widgetというpluginsで対応できることがわかりました。
https://gameusers.org/dev/blog/wpp-plus-widget-new/
を参考に、記事フォーマットを

<li>
<div class=”wpp-list-category-new-title”>{title}</div>
</li>

にしました。記事一覧が10個しか表示されないのは物足りないので、20個ぐらいになるよう改造することにしました。

pluginsの WPP Plus Widgetの中のwpp-plus-widget.phpというファイルの中の

<p><label for=”<?php echo $this->get_field_id( ‘num_posts’ ); ?>”>記事数:</label>
<select class=”widefat” id=”<?php echo $this->get_field_id( ‘num_posts’ ); ?>” name=”<?php echo $this->get_field_name( ‘num_posts’ ); ?>”>
<?php for( $i = 1; $i <= 10; $i++ ) { ?>
<option<?php if( $i == $num_posts ) {echo ‘ selected’;} ?>><?php echo $i; ?></option>
<?php } ?>
</select></p>

の部分の
<?php for( $i = 1; $i <= 10; $i++ ) { ?>

<?php for( $i = 1; $i <= 20; $i++ ) { ?>
に変更すると希望通りになりました。

後で気づいたのですが、個別の記事を単独で表示した場合も、関連のカテゴリの最新記事一覧が表示されるようになりました。便利です。

sitemapのほうもHierarchical HTML Sitemapというpluginsを使用すれば、希望通りに出来る事に気づきました。
さっそく導入しました。
最初にカテゴリ一覧が表示され、その下に記事一覧が延々と表示されます。
カテギリ一覧のカテゴリを表示すると、そのカテゴリ一覧の部分にジャンプします。
これは良いです。

ついでにカテゴリの表示順もMy Category Orderを使って修正しておきました。なんか元々pluginsにインストールしてあり有効化までしてあったのですが、外観—ウィジェットでMy Category Orderを登録してなかったので動作していなかったのです。

ずっと前から不満に思っていた事が、あっという間に解決しました。
もっと早く着手すれば良かった。

coreserverがスパム攻撃にあってダウン

2019年5月10日

今日、午後からサイトの動作が遅くて、どうしたのかなあと思っていたのですが、夕方にメールが届いていました。

「平素は、バリュードメイン、コアサーバーをご利用いただき、誠にありがとうございます。
本日、ご利用のコアサーバーにおきまして、外部からのDDoS攻撃が発生しておりました為、
暫定的にサーバーのIPアドレスを変更いたしました。

つきましては、下記をご覧の上、DNS設定を変更いただきますようお願いいたします。

○日時:

2019/05/10(金) 15:50 ~

○対象:

s197.coreserver.jp

○作業内容:

サーバー IPアドレス一時変更

変更前IP:202.172.28.198
変更後IP:202.172.28.233

○ご対応依頼:

お客様には「変更後IP」のDNSへ一時的なご変更をお願いいたします。
但し、TTLの設定等により15-30分程度要する場合がございます。

※ns**.value-domain.comをご利用の場合は、自動的に変更いたしますので、
作業は必要ございません。
他社ネームサーバーをご利用のお客様は、誠に恐れ入りますが、上記のIPへ
手動にてご変更くださいますようよろしくお願いいたします。

設定の変更について、ご不明の場合はカスタマーサポートまで、お問い合わせください」

要は大量データが送られるDDoS攻撃が発生し、断続的にサーバーの処理に影響したのでサーバー IPアドレスを変更したって事です。

それにしても、「お客様には変更後IPのDNSへ一時的なご変更をお願いいたします。」の1行だけでの説明だけとは、XREAの不親切には呆れます。

「VALUE-DOMAINのコンパネ—マイページ—ドメイン—DNSレコード/URL転送の設定—該当のドメインを選択—DSN情報変更—ターゲットのIPアドレスを変更」
の2行の説明を加えるだけで、随分わかりやすいと思うんだけど。

2019年5月29日

昨日の夜にバリュードメインからメールが来てて、2019/5/29(水) 01:00 ~にIPアドレスを元に戻すから、DNSを元に戻して欲しいと言うのです。
そんな遅くまで起きていないし、朝はバタバタしてそんなことをする時間が無いので、夕方にしようと思っていたのですが。
そしたら、すでに回線が激遅状態で、ほとんどアクセスできない状態でした。
変更方法を、このページにメモしておいたので、それを見ればよいと思っていたのですが、ページが開きません。
結局、DNSを変更する方法を苦労して見つけ、変更したのですが、なかなか状況が改善しません。結局変更後30分後にやっと復旧しました。
GMOのあまりにも酷い対応に呆れました。変更に時間の猶予を設けるのが普通だと思うんですよね。GMOに買収されてからバリュードメインって本当にひどい会社になりました。

Bootstrapはホームページ制作に必須のツール

2019年5月13日

PHPの勉強で「金沢近郊の激安の中古住宅を紹介」という掲示板とデータベースを駆使したサイトを製作したのですが、その時に参考にしたプログラムでBootstrapというものに出会いました。

Bootstrapは、最も有名なWEBフレームワークだそうです。WEBページでよく使われるフォーム、ボタン、メニューなどの部品がcssのテンプレートとして用意されていてモバイル対応にも優れているそうです

Bootstrapの公式サイトからDownload Bootstrapをクリックしてダウンロードして、解凍したファイルをそのままサイトにアップロードします。
必要なファイルは限られているようですが、全部アップロードしたほうが安心です。

jQueryの公式サイトからダウンロードした最新の「jquery.min.js」をJSフォルダにアップロードします。今回の最新のものはjquery-3.4.1.min.jsでした。

これで準備ができます。
もし他のサイトを参考に、そのままソースファイルを使う場合は、Bootstrapのバージョンを合わした方が無難です。バージョンが違っていると正常に動作しない場合があります。

<head> と </head>の間に

<link rel=”stylesheet” href=”https://******.***/css/bootstrap.min.css”>
<link rel=”stylesheet” href=”https://******.***/css/bootstrap-theme.min.css”>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>

を挿入します。アドレス(******.***)は自分がアップロードしたアドレスを記入します。

</body>のすぐ後に

<script src=”https://******.***/js/jquery-3.4.1.min.js”></script>
<script src=”https://******.***/js/bootstrap.min.js”></script>

を挿入します。jquery-3.4.1.min.jsはバージョンによって数字の部分が違っています。
bootstrap.min.jsとbootstrap.min.cssとbootstrap-theme.min.cssは同じバージョンのものを使う方が無難です。今回はバージョン3.3.7を使いました。
https://getbootstrap.com/docs/3.3/getting-started/

サイトを希望の幅にする場合は、<head>と </head>の間に、

<STYLE>
<!–
@media (min-width: 800px) {
.container {
max-width: 800px;
}
}
–>
</STYLE>

を挿入します。

今回は、参考にしたプログラムを修正するだけにBootstrapを調べてみたのですが、いろんなケースで利用できそうなので、もうちょっと踏み込んで使ってみようと思います。

とりあえず、今年作ったシルバーエイジの金沢での生活情報をBootstrapを使って作り変えています。

参考になるサイトは

https://techacademy.jp/magazine/6270
http://proengineer.internous.co.jp/content/columnfeature/12468
http://websae.net/twitter-bootstrap-grid-system-21060224/
https://www.sejuku.net/blog/75031
https://getbootstrap.com/docs/3.4/css/
https://qiita.com/akatsuki174/items/53b7367b04ed0b066bbf

サイドデーブルでメニューなどを入れている場合は下記のようにすると、スマートフォン環境でメニューが下に表示するようになります。

<div class=”container”>
<div class=”row”>
<div class=”col-sm-9 col-xs-12″>
メインの部分を挿入
</div>
<div class=”col-sm-3 col-xs-12″>
メニューの部分を挿入
</div>
</div><!– /row –>
</div><!– /container –>

Bootstrapでサイドバーでメニューを入れる場合、左側にメニューを入れる場合、スマートフォンではメニュー部分は本文より先に表示されて、右側にメニューを入れる場合、スマートフォンではメニュー部分は本文より後に表示されるように決まっているいるようです。

tableの罫線に色をつけるときに
<TABLE  bgcolor=”#fbe48c” >と<TD bgcolor=”#ffffff”>の組み合わせを多用しているのですが、機能しなくなりました。
機能しなくなった原因が分からないのですが、<head>と</head>との間に

<STYLE>
<!–
.line { border-style: solid;
border-color:#fbe48c;}
–>
</style>

を挿入し

<TABLE cellspacing=”1″ bgcolor=”#fbe48c” border=”1″ class=”line”>

で対応することにしました。Bootstrapでは罫線が見えなくなることが多いようです。

スマートフォンでは表示させない部分を設定する場合は下記のページを参考にしました。
http://studio-key.com/Bootstrap/glidDecoration03.html

<div class=”hidden-xs”>
スマートフォン環境で消したい部分を挿入
</div><!– / hidden-xs–>

Bootstrapは便利だけど出来る事は限られていて万能ではないです。特にサイドバーの設置については、出来ることは少ないです。基本的にはサイドバー無しのページを作る場合の便利なツールといえます。
でも利用する価値はあると思います。

メルカリで「Bootstrapファーストガイド : CSS設計の手間を大幅に削減!」を800円で購入しました。

2019年5月15日

シルバーエイジの金沢での生活情報をBootstrapを使って作り変えました。
すっきりとしたページになりました。

2019年5月16日

「Bootstrapファーストガイド : CSS設計の手間を大幅に削減!」は沖縄からの出品だったので、届くのが遅くなると思っていたのですが、意外と早く着きました。

さっと内容を見ると、画像のサイズを自動調整したり、画像の上に文字を入れたり、画像を丸く切り取ったり、表示する画像を入れ替えたり、いろいろ出来るようです。

2019年5月17日

「Bootstrapファーストガイド : CSS設計の手間を大幅に削減!」を読んで、今まで理解できなかった基本的なことが、やっと理解できるようになりました。
やっぱり、ネットだけではなく、ちゃんとしたテキストも必要だと実感しました。

それにしても、読めば読むほどBootstrapは便利です。スマートフォン対応には必須のツールだと思います。今までスタイルシートは避けてきたのですが、スタイルシートの詳しい知識が無くてもプロのようなページが作れます。
特に、一番上に設置するメニューの種類は豊富ですし、テーブルを多用したページをスマートフォン対応にするには最高のツールだと思います。

不動産のページのBootstrapを使った部分を自分好みに変更しようと思います。

2019年5月18日

Bootstrapでラインや背景の色を変更するには<head>と</head>との間に

.form-custom {
background-color: #fef3e2;
color:#fff;
border-radius:0;
border-color: #fbe48c;
}

を挿入して、class=”form-control” のところに class=”form-control form-custom” のようにform-customを挿入します。form-customは任意の名前で良いです。
border-radius:0; は角丸の設定です。

パーツを任意の幅で中央に表示するには、例えば幅を全体の半分にするには
<div class=”col-sm-6 col-sm-offset-3″ >
幅を全体の3分の2にするには
<div class=”col-sm-8 col-sm-offset-2″ >
です。