500ページの連番のhtmlがあります、そして各ページ<title>部分をNumber001からNumber500とし、各ページ内にタイトル名をそのまま表示する部分、キイボードの矢印キーでページ移動する部分、ページ内のリンクでページ移動する部分を例えば10ページの場合、以下の様に記述しています。(一応動作は確認しましたが効果を得るにあたりタイトル要素をこのように使っていいのか、他の記述が一般的なのか理解できていない初心者です、主にコピペで作製、期待どおりの効果が得られればそれでよしとしている程度の者です)
<!DOCTYPE HTML>
<html>
<head>
<title>Number010</title>
<script type="text/javascript">
function checkCSRKey()
{
if (event.keyCode == 37) location.href = "Number009.html";
if (event.keyCode == 39) location.href = "Number011.html";
}
window.document.onkeydown = checkCSRKey;
</script>
</head>
<body>
<div>
<script>document.write(document.title);</script>
</div>
<ul >
<li><a href="Number009.html"> 前へ</a></li>
<li><a href="Number011.html">次へ</a></li>
</ul>
</div>
</body>
</html>
作製するhtmlの増減、挿入にあたり、その都度、タイトル名、リンク先の変更をしなければならないのですがタイトル名を変更したら、その変更したタイトル名を基準にリンク先を自動的に変えてくれる記述を教えていただきたいのです。尚、リンク先ページはタイトル名連番の前後しか指定しません。よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>こういう手法自体が一般的に、ご法度なのでしょうか?
どの部分か分かりませんが・・
例えば新聞社の膨大な記事や、数ページに分かれた記事はjavascriptやスタイルシートを無効にしても利用できますね。
その500ページがどういう内容なのかがわかりませんので方策は示せませんが、すくなくともjavascriptではまずいでしょう。それをするくらいなら、500ページ書き換えたほうが良いです。titleは検索結果に現れますから、それもページの内容を的確に示すものであるべきです。
アドバイス、ありがとうございます。
CSSやスクリプト以前に適切なマークアップというものすら理解できていない者ですので参考になりました。
No.3
- 回答日時:
HTML ページ内の重要な部分は、動的要素ではなく静的要素とすべきでしょう。
なのでスクリプト以外の方式で解決することをオススメします。
サーバー側処理ならJSPなりASPなりPHPなりで出力
静的ファイルなら、perl なり ruby なりで一括置換
動的要素とした場合は、以下の問題が発生します。
・自動巡回する検索エンジンが、重要なキーワードを拾えない
・視覚障害者が使う読み上げソフトが、読み上げ対象として認識できない
・スクリプト実行が抑制される環境では、このページをまともに読めない
もう一つ、必要とあらば致し方ないですが...
左右キーボードによる前後の遷移ですが、ブラウザのキー割り当てと競合する可能性がありますので、
使わない方式を検討なされてはいかがでしょうか。
たとえば旧来型の携帯電話のような環境だと、矢印キーが別用途に使われるのは致命的です。
ちなみに以下の様に書いてくれると、ブラウザによってはほぼ同等の操作ができる可能性があります。
<head>
<link rel="prev" href="Number009.htm">
<link rel="next" href="Number011.htm">
</head>
アドバイス、ありがとうございます
左右矢印の動作割り当ても気になってましたので。
行き当たりばったりではなく、書けるように努力したいと思います。
No.2
- 回答日時:
徹底的な欠点として、検索エンジンやjavascriptによるページ書き換えを禁止している人には使えない。
【引用】____________ここから
Lynx などのテキスト ブラウザを使用して、サイトを確認します(ほとんどの検索エンジンのスパイダーには Lynx で見えるようにサイトが映ります)。JavaScript、Cookie、セッション ID、フレーム、DHTML、Flash などの特殊な機能が使用されているためにサイトの一部がテキスト ブラウザで表示されない場合、検索エンジンのスパイダーがサイトをうまくクロールできない可能性があります。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[ウェブマスター向けガイドライン - ウェブマスター ツール ヘルプ( http://support.google.com/webmasters/bin/answer. … )]より
500ページもあれば、動的に作成するほうがはるかに楽です。
アドバイス、ありがとうございます。
むずかしいことはわかりませんが、こういう手法自体が一般的に、ご法度なのでしょうか?(例えば、やればできるが検索エンジンに対する<title>タグ要素の役割的なもの考えた場合に、普通は使わない、とか)あと、結論をいただいておりますが、動的に作成、というのは質問内容でいうところの自動で変えたい部分は直接書いたほうがいいということでしょうか?また、アドバイスいただければ幸いです。
No.1
- 回答日時:
変数として prePage と nxtPage を宣言
window.onloadで
document.titleのNumberXXXからsubstringでXXXを取得 -> curNum
XXXをparseIntして -1 と +1 して と結合
prePage = "Number" + (curNum - 1) + ".html"
nxtPage = "Number" + (curNum + 1) + ".html"
<a href="NumberUUU.html">を<a href="#" onclick="go(-1)">
<a href="NumberWWW.html">を<a href="#" onclick="go(1)">
function go(num)で
num = -1ならprePageに遷移
num = 1ならnxtPageに遷移
キーイベントも同じ
て感じにしてみるとかどお?
アドバイス、ありがとうございます。
努力無しに質問ではこれ以上のアドバイスいただけないと思いますので、アドバイスを参考に自分で書いてみようと思います。動かないとは思いますが……。また、アドバイスいただけたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ホームページについて
-
ajaxでエラー処理
-
googleマップがWinIEのみエラー...
-
flame越しの命令
-
<SCRIPT src="css.js">の記述位置
-
セルの背景色をonMouseOverで変...
-
jsのreturnで値が返ってこない
-
ajaxでPOSTする変数の変数名を...
-
JavaScriptでtabindexの変更っ...
-
readyStateが4にならない原因
-
SQLのmaxで求めた値を変数に代...
-
jQueryのblockUIをformのボタン...
-
jQuery を外部ファイルから呼び...
-
bxsliderで巻き戻しにする方法
-
AjaxでJSONを受信すると、文字...
-
JSONのデータから商品名の取得...
-
Ajaxでフォームデータを連続登...
-
Javascript+PHPでのデータの受...
-
C言語の 配列の中 出力について
-
チェックボックスとラジオボタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インラインフレームを自動更新...
-
jQueryでloadした部分に.jsが効...
-
一定時間ごとに表示内容を切り...
-
jQueryで追加した要素がマウス...
-
連番タイトル名を基準にリンク...
-
location.replaceでの移動
-
jQuery toggle() 戻るで開いた...
-
Folder.selectDialog()について
-
slideToggleを複数のボタンで適...
-
クリックテキストを次ページに表示
-
XHTMLで外部JSファイルを読み込...
-
JQueryで動的生成のスライダが...
-
<SCRIPT src="css.js">の記述位置
-
javaの変数又はデータの共有
-
フレーム内の要素へのXPATHはど...
-
リンク元のURLのパラメータでペ...
-
div要素の入れ替え。半透明イメ...
-
別ページのインラインフレーム...
-
自動で現れるTOPにもどるボタン...
-
複数の特定のURLからのみアクセ...
おすすめ情報