インターネットオプションで、「前回のセッションのタブから開始する」にしているのに、全く無視され、ホームページを開いてしまうことがある。

せっかくいろんなページを開いている情報を全部消されてしまい、最悪である。

試しに、再起動をもう一度してみたら、今度は前回開いていたページが復元された。

要するに、いつ発生するか不明で100%再現しないバグである。

IEのウインドウを複数開いていて、最後に閉じたのがホームページだけ開いていたIEだった・・・なんていうことはない。IEのインスタンスは1つだけだったし、ホームページなぞ開いていなかった。

このバグを起こしたのIEは、IE5とかではない。最新の Windows10 付属のIE11である。

ちなみに、このときのIEは、開いているだけでCPU使用率が100%になるような状態だった。IEを完全に閉じても4,5分間その状態だ続いた。これもIEの激しくうっとうしいバグである。

しばらく開きっぱなしにしていると、画面が真っ黒になるなどし、スクロールに合わせてチカチカするというバグも抱えている。

こんなうっとうしいバグを複数いまだに抱えているようなブラウザは、いい加減ブラウザのラインアップから引退してほしいものだ。他のブラウザでこんな困ったバグを複数抱えているようなものは見当たらない。IE開発チームのやる気のなさがうかがえる。

キーワード: IE11 bug windows10


「YO-NO」21話 2019-09-09 (月) 21:20:55+09:00

映像作品

20話で、うかつな生活で妻を失い、うかつな行動で娘も失い、監獄に捕らわれたたくやだったが、囚人達と脱走を試みる。

崩壊していく塔の上で、あわやという危機に。

yuno-21-1

そこを、育てていた魔獣クンクンが成長した姿で助けに飛んでくる。

yuno-21-2

クンクンは、たくやの望むままに、たくやと仲間になった素性の知れない女をつかんだまま、王都に向かってひたすら飛び続ける。

yuno-21-3

たくやは、「おっぱいが大きくなったな」だとか、ふざけたことを口走りながら、ひたすらクンクンを酷使し続け、ついに、クンクンは使いつぶされ地面に落下してしまう。

yuno-21-4

苦しみを必死にこらえるクンクン。

yuno-21-5

ところがここで、驚愕絶倒の展開に。たくやは、またも素性の知れない女にそそのかされ、あろうことか、ナイフでクンクンを殺して食ってしまうのだ!!

yuno-21-6

たくや、お前が「おっぱいでかくなったなあ」とかふざけながら酷使し続け使いつぶしたおかげで、クンクンは体の限界まで飛び続け倒れたんだろうが!!それを殺して食うって・・・人間にできる所業じゃないわ。

最期までたくやの役に立とうとするクンクンの笑顔。この娘をナイフで刺しまくって殺して食べられますか?ぼくは絶対できないし、それ以前に、倒れるまで酷使するなんていうふざけたことを、ぼくならしない。

yuno-21-7

何なの?この胸糞アニメ・・・。

キーワード: YU-NO


管理画面に組み込むことができる 'A JACK IN THE BOX' の坂上ひさとさん作の「トラックバックプラグイン」( tb_tool.php )を php7 で動作できるよう修正した。


        if($_POST[mode] == "pre_tb"){\n
            $tb_line = str_replace("\r\n","\n",$_POST[tburl]);\n
            $tb_line = str_replace("\r","\n",$_POST[tburl]);\n
            $tb_line = str_replace("\n","<>",$_POST[tburl]);\n

上のようなコードが書かれているところが3箇所あるので、全て、


        if ((isset($_POST['mode']) ? $_POST['mode'] : '') == "pre_tb"){\n
            $tb_line = str_replace("\r\n","\n", $_POST['tburl']);\n
            $tb_line = str_replace("\r","\n", $tb_line);\n
            $tb_line = str_replace("\n","<>", $tb_line);\n

のように修正した。コードが意図する動作は、 "\r\n" を "\n" に置換、さらに "\r" を "\n" に置換、最後に置換されて残った "\n" を "<>" に置換というもののはずだが、元のコードでは3回呼ばれる str_replace() で、毎回 $_POST['tburl'] から値を取得しているため、そのような動作にならない。

併せて、 $_POST[tburl] のように書かれているところを全て $_POST['tburl'] のようにシングルクオートで囲むようにした。こうしないと警告が出るためだ。

次に、 tb_tool.php から読み込まれ使用されている jcode.php も修正が必要だった。古い php コードなので、 php7 では削除された ereg 系の正規表現関数が使用されているところが3箇所ほどあるので、全て preg_match(), preg_replace() に置き換えた。

以上で問題なく動作するようになった。

この記事のリンク元 | 9 | 8 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/dev/20190902_215709991118.htm


管理者画面の「動作設定」( config.php )の「携帯用ページをテスト」を「モバイルページをテスト」に変更し、「携帯」「スマートフォン」「しない」の3項目から選択するようにした。

rnote.php 本体を修正し、 $g_bCellphone に加え $g_bSmartphone を追加した。そして、スマートフォン検出のために「mobiledetect」の Mobile_Detect.php を追加し、スマートフォンを検出するようにした。

$HOME/entries/ の中に、 error_s.skin, html_body_s.skin を追加し、スマートフォンの場合にそれらのスキンを用いるようにした。

$HOME/style/ の中に、 style-sites_s.css を追加し、スマートフォンの場合にそのスタイルシートを読み込むようにした。

これらの作業をしてみて気づいた。 rNote はページのキャッシュを作成する機能をもっているが、これはPCからのアクセス用のキャッシュのみなので、携帯からのアクセス時には、キャッシュは無効となり動的に生成されるようだ。

このへんは改善の余地があるのではないか。昨今のアクセス状況を見ると、PCだけでなくスマートフォンからのアクセス率が増えているようなので、携帯用ページはまだしも、スマートフォン用のページはPC用同様にキャッシュを生成するべきと思う。

この記事のリンク元 | 10 | 8 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/dev/20190901_180459109926.htm


google は「モバイルフレンドリーテスト」という機能を持っている。

これは、あるサイトの表示が、スマートフォンなどでの表示に適切に対応しているかどうかをチェックしてくれる機能だ。

rNote の現状を考えてみると、 docomo や au などのガラケーに対する対応しかされていない。その対応方法は、クライアントからの request http header を見て、 user agent が携帯のものであった場合には、PC用の表示とは異なる携帯用の表示を行うよう動作するようになっている。

この方法は、スマートフォン全盛の現在でも有効だが、その場合、「スマホ向け表示を分けているときはVary HTTPヘッダーを使うこと など10+4記事(海外&国内SEO情報)」で説明されているように、サーバからの response http header に vary http であることが示されるようにすると良いようだ。

具体的には、 apache2 を使用しているサーバの場合、 .htaccess に、

Header set Vary User-Agent

と記述するだけでよい。

ただ、この方法だと、前述の google のテストに通らない場合があるようだ。理由は簡単で、 google がテストのためにサイトにアクセスしてくる際の bot の user agent が不明なため、サイト側でその user agent をスマートフォンからのアクセスとして認識しないためだ。これを解決するためには、一度 google のテストを実行し、その際にアクセスしてきた google の got の user agent 名を調査し、その名前にサイト側で対応しておく必要がある。しかし、 google の bot の user agent 名は、いつ変更されるか分からないため、変更された場合、 google にモバイルフレンドリーなサイトであると認定されなくなることになる。

一方で、モバイルフレンドリーなサイトにするためのもうひとつの方法として、「メディアクエリ」を使用する方法がある。これは、ヘッダでスタイルシートを読み込むタグの要素に media 要素を追加し、

<link rel="stylesheet" href="/ichounoki/rnote/medium.css" media="screen and (min-width:480px) and (max-width:1024px)"> 

のように、画面の幅などによって異なるスタイルシートを読み込むようにする方法だ。または、「レスポンシブの基本、メディアクエリの書き方」で説明されているように、

@media screen and (min-width:480px) and ( max-width:1024px) {p {  } /* 横幅が 480 pixcel から 1024 pixcel までの場合の p タグのスタイル */}

のように、画面の幅などによって異なるスタイルが選択されるようにスタイルシート内に記述する方法だ。

ただ、この方法を試したところ、実際には、画面ではなく、ブラウザのウィンドウの幅によって切り替わってしまうようだ。つまり、例えば、PCで表示させていても、ブラウザのウィンドウの幅を短くしていくと、タブレットやスマートフォン用の表示に切り替わってしまう。これでは、まずいのだが、提示されたサンプルを見る限り、条件分けの記述に screen も指定されているようなので、この指定で画面の幅であるように動作しないのであれば、お手上げな気がする。

また、根本的な問題だが、この方法では、クライアントの表示サイズによって切り替えることができるのは、あくまでも「スタイルシートだけ」なので、「タグで表現された表示内容そのものは変更できない」のだ。現在の rNote が携帯用の表示を行う場合に、その小さな画面と画像表示能力を考慮して、表示する項目や表示するテキスト自体を変更していることを考えても、ただスタイルシートだけしか変更できないのでは、小さな画面用の表示として満足のいく設定ができるとは思えないので、自分的には、この、「メディアクエリ」という方法自体、構造的に既にダメである。

というわけで、 rNote-re の機能として、現状に対応させるためにモバイルフレンドリーにするとしたら、実装方法としては、 rNote と同様にクライアントの種別を user agent で読み取って表示自体を切り替えるという方法になるだろう。ただし、上述した通り google の変更を小豆に発見して対応する必要がある。

この記事のリンク元 | 9 | 8 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/dev/20190901_155357263388.htm