IE で個別ページへのリンクがきかない
IE では、ページ名に日本語が混じっていると、メニューからそのページにジャンプできないことがあります。
これは、IEが日本語アドレスをなんの処理もせず読み込んでしまうためで、サイトのほうでエンコードしておく必要があります。(情報提供:kojiさん、どん兵衛さん)
libraries/Trash.php の最後、「function change2Url」の
しかし、このままでは、エンコード後の「%」が、さらに「- 」に置き換えられてしまうため、
しかし、「»」はあるのに、なんで「«」はないのだろう? 「%」が2つあるのも変だ。
core/pages.php の300行あたり
これは、IEが日本語アドレスをなんの処理もせず読み込んでしまうためで、サイトのほうでエンコードしておく必要があります。(情報提供:kojiさん、どん兵衛さん)
対応策(1)
$sContent を urlencode する。libraries/Trash.php の最後、「function change2Url」の
trim( $sContent )を
trim( urlencode( $sContent ) )とします。(教示:どん兵衛さん)
しかし、このままでは、エンコード後の「%」が、さらに「- 」に置き換えられてしまうため、
Array( ' ', '&raquo;', '/', '$', '¥'', '"', '~', '¥¥', '?', '#', '%', '+', '^', '*', '>', <', '@', '|', '&quot;', '%', ':', '&', ',', '=', '--', '--', '[', ']' ), Array( '-', '', '-', '-', '', '', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '', '-', '-', '-', '-', '(', ')' ),を
Array( ' ', '&raquo;', '/', '$', '¥'', '"', '~', '¥¥', '?', '#', '+', '^', '*', '>', '<', '@', '|', '&quot;', ':', '&', ',', '=', '--', '--', '[', ']' ), Array( '-', '', '-', '-', '', '', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '', '-', '-', '-', '-', '(', ')' ),とします。
しかし、「&raquo;」はあるのに、なんで「&laquo;」はないのだろう? 「%」が2つあるのも変だ。
対応策(2)
ページ名を表示させないで番号だけにする。core/pages.php の300行あたり
$this->aPages[$aExp[0]]['sLinkName'] = '?'.change2Url( $this->aPages[$aExp[0]]['sName'] ).','.$aExp[0];を
$this->aPages[$aExp[0]]['sLinkName'] = '?,'.$aExp[0];とする。(教示:どん兵衛さん)