NScripterのloadgameではまった
ONScripterでは全く問題なかったのだが、NScripterでセーブ/ロードを繰り返すと、表示がおかしくなるというバグに遭遇した(画像1,画像2)。発生条件がランダムで、どう直したらいいのやらと試行錯誤していたら、どうやらセーブ時に変な状態でセーブされるせいで、ロードした時におかしくなるらしいということが分かった(何でこんな簡単なことが思いつかなかったのだろう・・・)。
というわけで、define節にautosaveoffを追加したらすんなり直った。高速化のためということでsaveon/saveoffを繰り返してたらどこかでおかしくなっていたらしい。当たり前といえば当たり前だけれども、セーブ/ロード関連でバグが発生している時は、saveon/offがおかしいのが原因ということがしばしばあるので(これで引っかかった回数は数知れず)、その度に銘じ直してるはずなのだがそのことを改めて認識させられた昨日4時間でした。
サーバー障害でしばらく繋がらなくなっていました
どうやらusamimi.infoのサーバーに大規模な障害があったようで、2〜3日繋がらなかったようです。データは無事なようなので一安心。それにしても個人運営なのに早い復旧で助かります。テスト期間なので今日はこの辺で。
Google・Yahoo・Internet Archiveから情報を削除する方法
移転前のサイトを検索で引っかからないようにしようと思ったので、ついでに削除方法をまとめてみることにした。
Googleに削除してもらうためには、必ずすでに削除してもらいたい部分が削除されている必要がある。具体的には、
- サイト全体、もしくはディレクトリ全体
- robots.txtで、サイト全体もしくはディレクトリ全体をブロックしている
- 1つのページ
- 削除したいページにアクセスした際に、404または410が返る
- robots.txtでクローラーのアクセスがブロックされている
- noindex メタタグでサイトのインデックスがブロックされている
- ページの一部分
- ある語句で検索した時にページがヒットするのを拒否したい時は、その語句をサイト上から削除する必要がある。
ただし、以下の情報のいずれかが掲載されているサイトの場合には、情報が削除されていなくても検索結果から削除される。
- 政府発行の個人識別番号(住基ネット番号とかだろうか?)
- 銀行口座番号またはクレジットカード番号
- 手書きの署名の画像
また、ページをリダイレクトさせている場合、302を返しているとGoogleはリダイレクト前のページを参照し続けるので注意。301を返すようにしたほうが良い。ちなみにmetaタグを用いてリダイレクトさせる場合、下の1行目のように即時にリダイレクトさせていると301に、2行目のように間隔を空けていると302として扱われる。このことはYahoo!も同様である。
<meta http-equiv="Refresh" content="0,http://・・・> <meta http-equiv="Refresh" content="10,http://・・・>
自分で、もしくはサイト管理人に連絡して情報を削除したら、次はGoogleに削除の申請を行う必要がある。自分が管理しているサイトの場合はウェブマスター ツールを使うと良い。ディレクトリごとの削除も申請できるので簡単である。ダッシュボード > サイト設定 > クローラのアクセス > URL の削除 から行える。
自分が管理していないサイトの場合、ウェブページ削除リクエストツールを使う。こちらの場合は、他人のサイトを削除することになるため、審査が厳しめである。削除された場合、少なくとも90日間は検索結果から表示されなくなる。
Yahoo!
Yahoo!の場合は、基本的に自分が管理しているサイトのみ削除することが出来るシステムとなっている。自分が管理している場合には、サイトエクスプローラーから削除することが出来る。管理サイト詳細 > インデックス状況から、「検索結果で非表示」というボタンを押せば完了。無審査で削除が可能である。
一方、他人のサイトの場合は少々厄介で、Googleと同じように簡単に削除を申請できるツールはない。情報を削除してもらった後で、Yahoo!のクローラーがページを再クロールしてもらうのを待つしかない。ただ、個人情報などのやばい情報の場合は、Yahoo!検索の問題となる検索結果に関するご連絡 - 情報提供フォームから連絡すれば削除してもらえる可能性はある。ただ、明確な削除基準が示されていない上、審査結果が分からないため、Googleほどには分かりやすくない。
Internet Archive
Internet Archiveは、robots.txtでアクセスをブロックすれば、過去の全てのページも見れなくなるので、robots.txtを置く/置いてもらうのが最も簡単。何らかの事情で設置できない場合には、info@archive.org宛てにメールを送るしかない。
参考リンク
以下のリンクも参考にして見て下さい。
- Google の検索結果からページやサイトを削除する - ウェブマスター ツール ヘルプ
- 特定のウェブページを検索結果から削除 - インフォセンター - Yahoo!検索
- Yahoo!検索 ヘルプ - 特定の情報やページを検索結果から削除したい
- Internet Archive Contacts
- HTTP ステータス コード - ウェブマスター ツール ヘルプ
- リダイレクトの設定とインデックスに登録されるURL - インフォセンター - Yahoo!検索
- robots.txt ファイルを使用してページをブロックまたは削除する - ウェブマスター ツール ヘルプ
- robots.txtの書き方(保存版) | 海外SEO情報ブログ・メルマガ
- ステータスコードチェッカー
近況報告
新年度になって一息ついたので。といっても1ヶ月ぶりの日記か...もっと頻度を高めたい物だが今年から忙しくなりそうだし。
クラス分けがされたが知り合いが結構いるのでまず一安心。ハズレなのは担任と英語教師くらい。よかったよかった。
備忘録
- 学校の課題で発見したIE向けの対策を導入する。
- 最近作ってるゲームについて書く
- アニメについて(ry
まあまた時間がとれたらおいおいということで。漢検準1級の勉強が終わらないー
IE7の:hoverに関するバグ
ちょっとIE7向けにサイトを作らなければならないことがありまして、IE7以上であればli要素への:hoverにも対応しているので、このサイトの左メニューをそのまま採用したわけです。
そうしたら、案の定と言うか大きくわけて2つの問題が発生した。今回は、そのうちの1つについていろいろ調べたので、メモ代わりに書いておこうと思う。
そのバグは、:hover状態に無いサブメニューの外枠だけが表示されるというもの。というか言葉で表すのはちょっと厳しいので以下の画像を見ていただきたい。Alphaの部分にマウスをのせている時、本来であればGammaの部分自体が表示されないはずであるが、なぜかGammaの背景のみが表示されている。
<ul id="menu">
<li>
<a href="#">Alpha</a>
<ul>
<li>
<a href="#">Bata</a>
<ul>
<li><a href="#">Gamma</a></li>
</ul>
</li>
</ul>
</li>
</ul>
/* 装飾関連は省略 */
/* 展開処理 */
#menu li > ul{
width: 12em; /* hasLayoutをtrueに */
display: none;
}
#menu li:hover > ul{
display: block;
}
これは、一度Gammaの部分までカーソルを動かし、そのまま外に動かしてメニューを閉じ、再び一番左のところにカーソルをのせると発生する。どうやらこれはIE7 ghost bugと呼ばれているらしく、IE7:hover ghosts bugなどで紹介されているが、日本語で説明しているサイトがあまりなかった。
これは、前の記事によると、:hover状態ではない要素がhasLayout = trueになっているのが原因らしい。だが、通常状態のときまでhasLayout = falseにしてしまうとそれはそれでメニューが展開できない状態になってしまうので、上のソースの場合、CSSを
/* 展開処理 */
#menu li > ul{
display: none;
}
#menu li:hover > ul{
width: 12em;
display: block;
}
のように、:hoverの時のみhasLayout = trueとなるようにする必要がある。
追記:分かりにくい構成だったので全面的に改稿。(2010/06/27)

