次へ効果のリンク

[新着] Webテンプレートを仮オープンしました



0   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
【何をしたいのか】
01.htm 02.htm 03.htm …というファイル名があって、リンク文字をクリックすると、現在のファイル名に1足されてたファイルが表示される。
そういうものが作りたいと思っています。
漫画のページなどではなく、小説です。

【現在の状況】
01.htm などというファイル名を作って地道に<a href="02.htm">とやっていたのですが、これからのために、そのような方法があれば良いと思い相談しにきました。

【何をしてみたのか】
このサイトの過去ログや、検索で探してみたのですが見つかりません。
もしかしたら検索キーワードが悪かったのかもしれませんが。

宜しくお願いします。

1   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
ご希望の動きは javascript で実現できますよ。
<html>
<head>
<title>ページ送りのテスト</title>
<script type="text/javascript">
<!--
var str = "test";     //数字の前に付ける名前
selfurl = window.location.pathname;
xx = selfurl.split("/"); xx.reverse();
yy = xx[0].split("."); num = yy[0].slice(str.length); 
function next(){
num = ++num;
nexturl = str + num +'.html';
location.href = nexturl;
}
function back(){
if( num != 01 ){
num = --num;
backurl = str + num +'.html';
location.href = backurl;
}
}
//-->
</script>
</head>
<body>
<form name="F1">
<table width="300" border="0" cellspacing="2" cellpadding="0"><tr>
<td align="left"><input type="button" value="戻る" onClick="back()"></td>
<td align="right"><input type="button" value="進む" onClick="next()"></td>
</tr></table></form>
</body>
</html>

上記はファイルの名前が "test05.html" とかを想定しています。
応用できますか?

2   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
回答ありがとうございます!!

試してみたのですが、進むボタンを押すと
NaN.htm
というページが開かれてしまいます。
(.htmで作っているのでlは消してしまいました)

ちなみに01.htmの前のtestなどという文字を作らない場合、
var str = "test"; //数字の前に付ける名前
の一行は消してしまっても害はありませんか?
それと、できればボタンではなくテキストで進むや戻るを作りたいのですが、できますでしょうか?

ご迷惑かけますが、解決策があれば教えてください。

3   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
ファイル名は01.htm 02.htm 03.htmなのですね。
では
<html>
<head>
<title>test1</title>
<script type="text/javascript">
<!--
selfurl = window.location.pathname;
xx = selfurl.split("/"); xx.reverse();
yy = xx[0].split("."); num = yy[0]; 
function next(){
num = ++num;
if(num < 10) { num = "0" + num; } 
nexturl = num +'.htm';
location.href = nexturl;
}
function back(){
if( num != 01 ){
num = --num;
if(num < 10) { num = "0" + num; } 
backurl = num +'.htm';
location.href = backurl;
}
}
//-->
</script>
</head>
<body>

<table width="300" border="0" cellspacing="2" cellpadding="0"><tr>
<td align="left"><a href="#" onClick="back()">戻る</a></td>
<td align="right"><a href="#" onClick="next()">進む</a></td>
</tr></table>
</body>
</html>

今度はいかがでしょう?

4   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
お早い回答ありがとうございます!!
早速試してみたところ、無事に動きました。

javascriptは本当に色んなことが出来るのですね!
これを期に勉強したいな、と思います。(一度挫折した身ですが。。

ご迷惑かけて申し訳ありませんでした。
おかげで思うようなページを作ることが出来ました。
本当にどうも有り難うございました!

5   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:RmbOnz3e
 ただし、JavaScirptなどのクライアント側スクリプトは「そのスクリプトが実行できる環境」でないとにっちもさっちもいかない(下手するとその後の操作すら不可能になる)事態になりがちであることには十分注意してください。
 よって、本案件についてはNOSCRIPT要素などでクライアント側スクリプト非対応環境でも問題なくページが閲覧できるような設計が望まれます。

参考資料:
http://www.zspc.com/documents/wcag10/#gl-new-technologies
http://nekoshiki.fc2web.com/guidline/guidline.html#gdln47
http://bakera.jp/html/opinion/zannen2.html
http://bakera.jp/html/opinion/zannen1.html
http://bakera.jp/html/opinion/zannen3.html

6   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
スクリプトが実行できない環境があるということも考えないといけないわけでるね。
この場合、
<noscript><a href="#">戻る</a></noscript>
などで未対応の人は目次に戻って次のページにいくようにする。で平気でしょうか?
そもそも未対応の人はスクリプトを使っているページが開けないのでしょうか?

7   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:RmbOnz3e
 >>6の書き方ですとフラグメント識別子(参考資料:http://www.kanzaki.com/works/2001/pub/wsd02.html#s2-3)が不明ですから、例えば1ページ目には、

<noscript><a href="2.html">ページ2へ移動</a></noscript>

のように具体的に書いてあげる必要があります(スクリプト部分が全く無効ですから、「#」以下は代入されることはありません)。参考資料もあわせてご確認ください。

8   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:RmbOnz3e
 あ、書き忘れました。
 CSSもそうですけれど、全てのページに同じスクリプトの記述をするよりは、そこだけ外部ファイル化してLINK要素により参照させた方が樂だと思います。ただ、Webオーサリングツールだと外部ファイルをうまく読み込ませるようなリソースが作れなかったりするようなのでそこは注意が必要ですね。

参考資料(このサイト内):
http://www.tagindex.com/javascript/info/basic.html

9   名前: Pid : 2006/08/06(日) 17:48  ID:ZFdTmqDr
>>6
スクリプト機能をオフにしてみるとか(WinXP SP2 なら,ローカル環境ではスクリプトがブロックされるはず),あるいは携帯端末でアクセスするなどして,試してみてはいかがでしょうか。

ぶっちゃけ,クライアント側 J(ava)Script は,「より快適に利用してもらう」ためのものであって,「製作を楽にする」ためのものではないのです(もちろん,例外はありますが)。J(ava)Script が動作しないとリンクすら辿れないとなれば,本末転倒もいい所,ということになってしまいますです。

じゃあどうすればいいの?ということになると,CGI/SSI や PHP などサーバ側機構を使うのが一番確実かと思います。XHTML + XSL でナビゲーション自動生成という手もなくはないですが(IE,Gecko,Opera,Safari は XSLT プロセッサを持っています),これもまだまだ不確実です。

少なくとも HTML データが利用者に届いた時点で,そこには確実に <a href="2.html" rel="next">ページ 2 へ移動</a> が書かれている,というのが理想的だと思います。まあ,これくらいなら,手書きでも大して苦にならないのではないでしょうか。

10   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:RmbOnz3e
>>9 Pidさん:
 そういえば、下記スレッドでカヅサツさんが同じようなことをおっしゃってましたね。

http://www.tagindex.com/cgi-lib/q1bbs/patio.cgi?mode=view&no=2418

「J(ava)Script が動作しないとリンクすら辿れないとなれば,本末転倒もいい所,ということになってしまいますです」、そのとおりなのですが、結構世の中にはそういうサイトってちらほら見かけるんですよね(汗)。個人ならまだしも企業とか官公庁とか・・・コンテンツJISのこと知らないか無視しているかとすら思ってしまいます。

関連記事:
http://www.nawata-office.com/wp_blog/?p=434&c=1

11   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>J(ava)Script が動作しないとリンクすら辿れないとなれば,本末転倒もいい所
そうですね。スクリプトを使うにしてもそうでないとしても、誰でも快適に利用できるようにしたいと思います。

>製作を楽にするためのものではない
やはり利用者に快適に利用していただくためには、
<a href="02.htm">を使っていくのが一番いいのでしょうかね……。

ちょっと考えてみることにします。
皆様、有り難うございました。

12   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:MRwTGpOM
あらら、花子さん、考え込んでしまわれたようですね。
確かにウェブに公開する以上、利用者の事を考えたアクセシビリティも大事ですね。
Z さん、Pid さん、そしてカヅサツさんの仰る事は考慮するべき事です。
一般論として何の代案も含めず Javascript を勧めてしまった私も反省すべき所。

しかし、花子さんは個人サイトで小説をアップなされようとしているのですよね。
あらゆる層を含めた配慮をする事は当然必要ですが、そこまで過敏に考えなくとも良いのではないでしょうか。
『この小説は、Javascript を使用できる環境を前提に制作しております』
とか最初に表記して、代替え用に一頁サイトマップを用意すれば良いのではないでしょうか。
WWWの理念に外れている事を承知した上であっても、たかが個人サイトでその位の「楽をしたい・楽しんで作りたい」といった気持ちは、別に犯罪でもなんでもありません。
最初からあれもこれもと全ての理念や規制を守ってのサイト制作は、業務なら当然ですが個人の場合序々に整えて行けば良いのです。
堅苦しく考えなくても、少しずつでも良いサイトにして行こうと思えば、いつの間にかそういった配慮のされているサイトとなると思います。
重ねて言いますが、Z さん、Pid さん、そしてカヅサツさんの仰る事が、余計な事と言っているのでは無いですよ。
ただ、「誰でも快適に利用できる」サイトと言うのは、思ったよりも大変な事なのです。必ず何処かに妥協せざるボーダーが発生します。
そしてそのボーダーを決めるのは管理者(制作者)である花子さんです。
自分の小説をどんな人に読んで欲しいのかを考えて、どんな環境で読んでいるだろうと想像して、自分の能力(技術)でどこまでなら対応できるかを考えて…。

頑張ってくださいね。(陰ながら応援しております。)
# 長文・駄文・失礼。

13   名前: のっと : 2006/08/06(日) 17:48  ID:943Mtr/I
>WWWの理念に外れている事を承知した上であっても、たかが個人サイトでその位の「楽をしたい・楽しんで作りたい」といった気持ちは、別に犯罪でもなんでもありません。

そもそもJavaScriptに対応していないとリンクすら表示されない、ということは“読んでもらう”という事さえできない人が出てくるわけです。
意図的にJavaScriptを切っている人ならまだしも、“対応できていないブラウザを使用している”人は確実に切り捨てられます。
そのために代替案として手動でのリンクを挿入するくらいなら、わざわざJavaScriptなどに頼る必要などないのでは?

もちろん見てもらうという事よりも、作成の効率をとるのならばJavaScriptを使用するという選択肢もありだとは思います。

14   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
う〜ん、皆さんの仰る事は理解出来ますし、私もそうあるべきと思うのですが…。
WWWの間口はそれほど狭いモノでは無いと思うのです。
システムに精通した人が技術指南サイトを作るのも良し、
「アイフレの作り方をおしえてっ」と言っている小学生がコミュニティサイトを作るのも良し、
何でもアリの状況の中でこそ、より良い配慮のされたサイトが研鑽・淘汰されて残って行くのではないでしょうか。
最初に『こういう事はやってはいけない』と示唆する事は大事ですが、それに縛られるあまり自分のやりたい事や、作ろうという気持ちを萎えさせてしまうのは、なるべく避けながらよりよい方向を見せてあげた方が建設的なのではないでしょうか。
そしてそれは先に知識を得た人がやるべき事だと思います。
経験を積み、研鑽琢磨された結果『わざわざJavaScriptなどに頼る必要などない』という事が理解できたら、それを実行すれば良いのではないですか。
簡単な script を入れたページを一つ作って、「こんな事ができる様になった」という自己満足に似た喜びは、誰の害になるものでもありません。そういった事柄を一つ一つ重ねて行った結果、自分のサイトがアクセシビリティに欠けるモノになったとしたら、またそこで「ではどうしたら良いか」と考えて行く気持ちが大事なのだと思います。

花子さんには失礼な言い方かもしれませんが、最初はまず自分が興味を持つ事柄を、自分が出来る範囲で創りあげる事が優先です。
もしかしたらその方法・技術は間違っているかもしれません。
もしかしたら自己満足のレベルを脱しないかもしれません。
もしかしたら著しく排他的なサイトとなってしまうかもしれません。
でも、最初は良いのです。考えるよりも自分の作りたいという気持ちを優先しましょう。
そしてその上で振り返った時、色んなハードルが見えて来ます。
例えば「携帯から読んでもらうには」とか「目の見えない人にも楽しんでもらうには」とか「選択肢でストーリーが変わる様にするには」とか…。
そうしたらまた考えましょう。より良くするにはどこをどうすれば良いのか。
解らなければまたここで質問してみましょう。きっと有効な助言がもらえますよ。

# しつこい様ですが、皆様の助言を軽視している訳ではありません。
# 花子さんを初心者的に考えている様な発言は、本当に申し訳ないです。

15   名前: 牛若 : 2006/08/06(日) 17:48  ID:cweaY6ae
ファイル名=「05.htm」の場合
<a href="04.htm">前頁</a> | <a href="06.htm">次頁</a>


これで何の不足があるのか、まったく理解不能。
リンク記述を自動化しても、コンテンツはその都度書くわけだし、
コンテンツを書くときに、数字を2箇所入れ替えるだけの話。
これで、全てのユーザーがハッピーになる。

16   名前: Pid : 2006/08/06(日) 17:48  ID:arEzEfln
今回の花子さんのような要望は,実は誰もが通る道のようなもので (^^;),過去ログにも,また他の掲示板でも幾度となく取り上げられています。そのときに常に提案されるのは,(a). ローカルでツールを使って楽するか,(b). サーバ側機構で楽をするか,なんですよね。

クライアント側スクリプティングというのは,対応状況の面倒臭さを考えると,こういうケースではあまり考慮の対象にならないわけで。つまり,「J(ava)Script を使っていけない」ということではなく,「J(ava)Script は,優先順位としては最後の手段だろう」ということなのです。


----

HTML がなぜ「面倒」かと言えば,このフォーマットが,「ソースファイルであり,同時に出力ファイルである」という特殊事情を持つからだと私は考えていますが,まあそんなことはともかく。


----

クライアント側スクリプティングでは,特に特殊事情がない限り,「同等の代替方法」を用意するのが鉄則です。今回,>>6 の花子さんご提案の「戻る」が「同等の代替機能」に当たるか私も悩みました。しかし私の経験上は,

・「戻る」だけで十分なのは,グラフィカルでリッチなブラウザを利用している場合。
・携帯端末やテキストブラウザなど非スクリプト環境では,むしろ「次に」という直接的なリンクが必要。

ですから「同等の代替方法」には難しいかな,と判断しました。かと言って代替案も思い浮かばない。ならば,確実な CGI/PHP を使った方が良かろう,というのが >>9 です。


----

本音を言ってしまうと,私自身は HTML の body 要素内にナビゲーションやパン屑リストのようなものを「書きたくありません」。

私の場合,文書の相互関係は head 要素内の link 要素ですでに示されていますから,body 要素内には余計なものを書かずに中身に集中したい。しかし,肝心の IE が link 要素からナビゲーション生成してくれません。そこで,JavaScript を使って,link 要素群からナビゲーションとパン屑リストを生成するスクリプトを書きました。また,ページ内の見出しを拾ってページ内目次を作成するスクリプトも用意しました(ついでに,meta 要素から文書要約を生成してみたり)。

それでもなお,非スクリプト環境の方々からは暗に(こういう方々は遠慮しがちなので,あまりはっきりとは言ってこない),リンクを何とかしてほしいという要望を受け,結局(少なくとも HTML には)直書きする,で決着したことがあります。

クライアント側スクリプティングを過信してはいけないと,これだけは強く主張します。

17   名前: Pid : 2006/08/06(日) 17:48  ID:Yss7UGzl
あ,流れを全く無視しますが,「次に」「戻る」のようなアンカー名はやめた方が良い(>>16 ではそう書いてしまいましたが orz)。

アンカー名は具体的なページ名(それこそ,印刷しても違和感のないよう)にした方が良いです。

あるいは,<a href="2.html" rel="next" title="第 2 章 旅立ち">次項</a> のように,title 属性を付けましょう。どこに行くのか分からないリンクアンカーは,読者に不安を与えます。

18   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
私の初動のせいで花子さん(質問者)の意図を外れてスレが伸びている現状をお詫び致します。
しかし、(個人的に)この議論も花子さんの質問の回答として役に立つと感じていますので、識者の皆様にはもう少し御寛容頂きたいと思います。

『特殊事情がない限り,「同等の代替方法」を用意するのが鉄則』
『クライアント側スクリプティングを過信してはいけない』
これは疑う余地の無い事実です。まがりなりにもサイトを公開しようとしている人は、これを考慮して制作をすべきです。
ですが「何故これらの事を配慮すべきなのか」そこに充分な理解を得られるのはある程度の経験や、状況を把握できた時ではないでしょうか。

先人がそれらの事をしるべとして示す事は必要です。
こういう手法を取ったらこういう不都合が出ると示す事で、全てを理解出来る方もいらっしゃいます。
しかしWWWというのは、そういった方しかサイト公開してはいけないモノなのでしょうか。個人がサイトを公開するにあたって、そこには(自分の中での)試行錯誤は許されないのでしょうか。
良くない事(不都合が起こる事)を推奨するつもりはありません。
でも、制作者が考えるボーダーラインと利用者が必要とするボーダーラインのズレを摺り合わせる事も、サイト管理の必須要項ではないでしょうか。
その為にも花子さんには色々と試して頂いて、ご自分で何に気を付ければ良いか考え、少しずつ良いサイトとなる様に配慮して頂きたいと思います。
その試行の中に Javascript も一手段として認識して頂ければ、私の>>1 や>>3 も無駄にならないので、私も自己満足(w)できます。

# >>0 の質問に対して、「こうすれば出来る」「いやそれでは不都合がある」といった回答は
# 質問者にも閲覧者にも有益ですが、「まったく理解不能」なのは回答となり得ません。
# 「不足がない事」が質問欲求を妨げる理由にはならないと思います。
# せめて質問意図を確認する様な回答にする事は出来ませんか?

19   名前: 牛若 : 2006/08/06(日) 17:48  ID:M.asWtbo
># >>0 の質問に対して、「こうすれば出来る」「いやそれでは不都合がある」といった回答は
># 質問者にも閲覧者にも有益ですが、「まったく理解不能」なのは回答となり得ません。
># 「不足がない事」が質問欲求を妨げる理由にはならないと思います。
># せめて質問意図を確認する様な回答にする事は出来ませんか?


これは私の発言に対するコメントですね(誰に対しての発言かはハッキリ書くようにしま
せう)。

お答えします。
私は自分の提示したリンク記述に何の不足も見いだせないので、そのリンク記述を提示し
た上で、

>これで何の不足があるのか、まったく理解不能。

と書いたのです。回答とならない、とはどういう意味でしょうか?
合わせて、だれがいつ質問欲求を妨げましたか?

>せめて質問意図を確認する様な回答にする事は出来ませんか?

おっしゃっているような回答はご自分でも投稿されているように、すでに出ています。
クライアントサイド・スクリプティングの諸問題も議論されています。それらにはま
ったく異論ありません。
私の回答>>15は、いわば、それのアンチテーゼではありますが、その上に立って、な
らば、初めからHTMLで私の提示したようなリンク記述ならほぼ全てのユーザーの環境
にマッチするだろうと、申し上げたのです。

何をそのようにいきり立っていらっしゃるのかまったく理解不能です。
ご説明いただければ、さらに申し上げられるかも知れません。


せっかくですから、付言しますが、


>先人がそれらの事をしるべとして示す事は必要です。
>こういう手法を取ったらこういう不都合が出ると示す事で、全てを
>理解出来る方もいらっしゃいます。
>しかしWWWというのは、そういった方しかサイト公開してはいけない
>モノなのでしょうか。個人がサ>イトを公開するにあたって、そこに
>は(自分の中での)試行錯誤は許されないのでしょうか。

もちろん許されているでしょう。というか、だれも規制していません。
ネットにはひどいコーディングのページがいくらでもあります。
また、フラッシュや鮮明画像を多用していて重いだけの自己満足のペー
ジもたくさんあります。リンク画像の周囲の点線が目障りだといって
消しているページもあります。全頁がdocument.writeで書かれている
ページもあります。
どんな風に書こうと自由です。

私は重いページは途中で切ってしまいます。フラッシュ多用のページに
は二度と行きません。背景が黒で文字色が白のページにも二度と行きま
せん。音楽がページロードと同時に鳴り出すページにも二度と行きませ
ん。そして、私がJavaScriptを切っている場合、リンクもろくにつなが
らないページがあったとしたら、二度と行きません。
しかし、どんな風に書こうと自由です。

全てはユーザーの判断です。しかし、多くの人にアクセスしてほしい
リソースとしてUPするなら、できるだけ低いレベルのユーザーに合わせ
るべきです。切り捨てるのは簡単なことです。クロスもせず、JavaScript
だけでページを作れば、そうとうのユーザーを置き去りにできます。

しかし、それが目的ですか? ということです。

20   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
>>19 牛若さん、失礼致しました。
仰る通り、私の最後の段落は>>15 の牛若さんの発言を踏まえてのものです。
私の読解力の低さ、発言の未熟さ故に、御気分を害されたかと思いますが、私の希望なども含めて御笑読頂けますでしょうか。

> これで何の不足があるのか、まったく理解不能。
牛若さんの基準で計れば不足のない記述なのだと思いますが、それは質問者にとって不足のない記述なのでしょうか。「ほぼ全てのユーザーの環境にマッチする」記述であっても、「ほぼ」である以上、除外される人が出るのは牛若さんの言葉をお借りしなくても解りますよね。後述で「どんな風に書こうと自由」と仰っている様に、何処に不足を感じるかは人それぞれではないでしょうか。
そういった意味で、「まったく理解不能」といった発言は、ご自分の感情暴露でしかない様に見えますが、回答となり得るものなのでしょうか。

> だれがいつ質問欲求を妨げましたか?
もう一度ご自分の発言を読み返してください。
揚げ足取りをする訳ではありませんが、牛若さんの>>15 は断言で終わっています。
質問者は現状に何らかの不足を感じて、牛若さんの理解不能な欲求から質問を発したのです。その回答に>>15 の断言をした場合、質問者視点からは
『これで十分だろうが、何を出来もしない事を求めてるんだよ』
と、映ってしまう事が多いのではないでしょうか。

> 何をそのようにいきり立っていらっしゃるのかまったく理解不能です。
私が…ですか?その様に見えたとしたら、それこそ私の発言の未熟さです。謝罪致します。ですが、私からは「いきり立って」等の描写は事実と異なっている事を申し添えておきます。

牛若さんの発言に対し、否定的に聞こえるかもしれませんが、最後の「しかし、それが目的ですか?」に対しては全面同意致します。
その為にも私は>>18 の中で「制作者が考えるボーダーラインと利用者が必要とするボーダーラインのズレを摺り合わせる事」を提示しております。

以上で>>19 に対しての説明となりますでしょうか。

# 私と牛若さんのやり取りに関してはこのスレの質問主旨に外れる気がします。
# 脱線用スレッドへ行きますか?

21   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
>>19 牛若さん、再び失礼致しました。

> 「まったく理解不能」なのは回答となり得ません。
この部分はここの掲示板の主旨に反する発言でした。
取り下げると共に、謝罪させて頂きます。申し訳ありませんでした。

22   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:aFQVoQRt
 あれから考えましたが、今回(>>0)の場合「小説」ですから、なにもかふぇおれさんが>>16や>>18でおっしゃるような難しいことを実は考えなくてもよいように思えてきました。

1.HTML文書として公開する文書ごとにtitle要素で表題をつけ、
2.見出しごとにh1/h2/h3/h4/h5/h6要素でマークアップをし、
3.本文は基本的に段落を意味するp要素で(ことさら途中で強制改行をいれずに)マークアップをする。
4.章ごとに文書を分けるのであれば、文書間の移動のためa要素で基点アンカーと終点アンカーを設定する。

 これだけでも立派なHTML文書として成立します(a要素の使い方は>>15で牛若さんが示したやり方とします)。

参考(HTMLのポイント):
http://members.jcom.home.ne.jp/pctips/www/HTMLPoint.html

 まずこれを元に基本の文書を作成した上で、これだと見かけが寂しいから何か手を加えてみようかと思ったときに色々と調べて付加していけばよい話ではないでしょうか。
(XHTML文書化するにはもっと決まりごとが増えるため、ここでは省略を致します。)

 この方法だと>>0の質問内容については全く考えないという話になります(理想論からいえばナビゲーションについては本来LINK要素のみで解決できるものの>>16でPidさんがおっしゃるような実装状態であるため、a要素を使わざるを得ないでしょう)が、大量の文書の一部をいっぺんに書き換えることについては「a). ローカルでツールを使って楽するか,(b). サーバ側機構で楽をする」(>>16から引用)という方法があります(具体的なやり方は過去発言をご参考に)。

参考(LINK要素について):
http://car.s35.xrea.com/better/link.php

 なお、一つの章をさらに携帯電話でも見やすいように細かく分ける、などのことまで考え出すと、例えば携帯電話でも操作しやすいようにa要素にaccesskey属性をつけようか、などもでてきますが、データ量が多くなりがちな「小説」については携帯電話向けまで考えなくてもよい、かもしれません(あくまでも私見です)。

参考(accesskey属性について):
http://www.marguerite.to/Nihongo/HowToMakeYourWeb/Columns/Accesskey.html

参考(携帯電話向けコンテンツの考え方):
http://www.marguerite.to/Nihongo/HowToMakeYourWeb/Mobile/MobileHTML.html

23   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:aFQVoQRt
>>22に追記です(蛇足かもしれませんが念のため補足ということで)。
 最後に、

5.文書型宣言により、HTMLのバージョンを明記する。

が必要ですね。>>22の方法論でいけば、非推奨要素・非推奨属性を使わなければ自然と厳格型文書となります。

仕様書該当部分:
http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.2
http://www.w3.org/TR/html401/struct/global.html#h-7.2

仕様書の読み方など:
http://www.kanzaki.com/works/2001/pub/wsd01.html

24   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
みなさん、いつの間にか色々と意見して下さってありがとうございます。

<a href="02">次へ</a>
でやらなかったのは、とてもページ数が多かったからです。
もともとあった小説サイトを改装していて、ページ数がとんでもなく多かったので、できれば本文をコピペするだけですませられるなら、と思いました。
結局は私が楽をしたかっただけに質問しただけなので、見ている人のことを考えれば
<a href="02">次へ</a>
にするべきなのかもしれませんね。
でも出来れば楽をしたいというのが本心ですから、もう少し相談させてください。

>>22の話ですが、まず<head>内に<title>小説の題名</title>ということですよね。
そのあとのマークアップというのは、どういうふうにすればよいのでしょうか?
検索してみても、結果が沢山検出されてどれを見たら良いのか分からなかったもので質問させていただきます。

私がやりたいことは、ようは本文のみをコピーすればページが出来上がる方法ということになります。

HEAD内に<script type="text/javascript">〜
BODY内に
<table width="300" border="0" cellspacing="2" cellpadding="0"><tr>
<td align="left"><a href="#" onClick="back()">戻る</a></td>
<td align="right"><a href="#" onClick="next()">進む</a></td>
</tr></table>
<noscript><a href="目次のページのアドレス">戻る</a></noscript>

これで、文章の上に本文をコピーしていけば良いかと思ったのですが、
やはりこれではスクリプトに対応していない人にとって、読みたくなくなるほど不便でしょうか?



25   名前: カヅサツ ◆ThCi95HEzw : 2006/08/06(日) 17:48  [URL]  ID:O5hEMlpW
>>24

> >>22 の話ですが、(略)
> マークアップというのは、どういうふうにすればよいのでしょうか?

>>22 で http://members.jcom.home.ne.jp/pctips/www/HTMLPoint.html が紹介されておりますが、同サイトの他の記事としては http://members.jcom.home.ne.jp/pctips/www/MarkUp.html が特に参考になると思います。

あるいは過去ログでの議論をどうぞ http://www.tagindex.com/kakolog/q1bbs/1601/1919.html

> HEAD内に<script type="text/javascript">〜
> BODY内に
> <table width="300" border="0" cellspacing="2" cellpadding="0"><tr>
> <td align="left"><a href="#" onClick="back()">戻る</a></td>
> <td align="right"><a href="#" onClick="next()">進む</a></td>
> </tr></table>
> <noscript><a href="目次のページのアドレス">戻る</a></noscript>

> スクリプトに対応していない人にとって、読みたくなくなるほど不便でしょうか?

リンクだと思ってクリックしたら何も起きない、というのが酷い話なので、よほど面白くない限り、たぶんそれ以上読みたくなくなると思います。

> <table width="300" border="0" cellspacing="2" cellpadding="0"><tr>
> <td align="left"><a href="#" onClick="back()">戻る</a></td>
> <td align="right"><a href="#" onClick="next()">進む</a></td>
> </tr></table>

この部分を JavaScript で出力させるのが良いと思います。スクリプトに対応していない人には、最初から表示させなければ良いのです。

ただ、ここでtable要素を使うのは、良いマークアップではないと思います。私なら li要素を使います。

26   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
ん〜と、ごめんなさい。
カヅサツさんの仰る「私なら li要素を使います。」が良く解らなかったもので、
そのまんま innerHTML に突っ込んでみました。

htmlファイル<head>〜</head>に
<script type="text/javascript" src="test.js">
を入れておいて、目的の場所<body>〜</body>に
<div id="menu" align="center">ここに出る</div>
を入れておく。
外部ファイル test.js の中身は
function initMenu() {
if (!document.getElementById("menu")) return;
document.getElementById ("menu").innerHTML = "<table width='300' border='0' cellspacing='2' cellpadding='0'><tr><td align='left'><a href='#' onClick='back()'>戻る</a></td><td align='right'><a href='#' onClick='next()'>進む</a></td></tr></table>";
}
selfurl = window.location.pathname;
xx = selfurl.split("/"); xx.reverse();
yy = xx[0].split("."); num = yy[0]; 
function next(){
num = ++num;
if(num < 10) { num = "0" + num; } 
nexturl = num +'.htm';
location.href = nexturl;
}
function back(){
if( num != 01 ){
num = --num;
if(num < 10) { num = "0" + num; } 
backurl = num +'.htm';
location.href = backurl;
}
}

例によって、代替案は考慮してません(w
これでどうでしょうか?

27   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
あ、<body onload = initMenu();> も必要ですね(汗

28   名前: 匿名 : 2006/08/06(日) 17:48  ID:zqn32COP
> カヅサツさんの仰る「私なら li要素を使います。」が良く解らなかったもので、
“戻る”“進む”は「表」じゃないから「箇条書き」でマークアップします、という意味でしょうね。

29   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>>22
それはつまり見出しごとにh1,h2を入れていかなければならないんですね。

>>25
>あるいは過去ログでの議論をどうぞ
http://www.tagindex.com/kakolog/q1bbs/1601/1919.html
文章は強制改行のBRで改行するのはよくないんですかね。
私はBRで改行してきた身ですので、参考になります。
マークアップというのはつまり、なんかしらのタグで囲むという意味でしょうか?
>ただ、ここでtable要素を使うのは、良いマークアップではないと思います。私なら li要素を使います。
ごめんなさい。<table>の代わりに<li>を使うのですか?どうすればいいのでしょう。

それと、
> <table width="300" border="0" cellspacing="2" cellpadding="0"><tr>
> <td align="left"><a href="#" onClick="back()">戻る</a></td>
> <td align="right"><a href="#" onClick="next()">進む</a></td>
> </tr></table>
の部分を対応していない人には表示させないことが出来るのでしょうか。
もしよろしければ具体的なやり方を教えてもらえませんか?
未対応には表示させないやり方を探しても、よく分からなかったもので。
http://external-file.com/ja/beginner_javascript.html
に書いてある
コード部分の前後に <!-- 〜〜〜 // --> でコメントの記述をします。
というのは見たのですが、コードとはどの部分でしょう?
<script>
<!-- 〜〜〜 // -->
内容
<!-- 〜〜〜 // -->
</script>
ということだと思い実践してみたら出来なかったもので。。

>>26
ありがとうございます。
外部ファイル化することが出来ました!






30   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>>25
>ただ、ここでtable要素を使うのは、良いマークアップではないと思います。私なら li要素を使います。
すいません。>>28匿名さんの発言が、私の>>29を書いている間に書かれたものだったので見ていませんでした。。
<li>で箇条書きにするということは縦に並ぶということですよね。
できれば戻ると次へは横に並べたいと思っています。

31   名前: 匿名 : 2006/08/06(日) 17:48  ID:zqn32COP
>>30
> できれば戻ると次へは横に並べたいと思っています。
li{
display:inline;
}


32   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
え〜と…
外部ファイルにもしましたが、対応していない人には表示させない様にもなってませんでした?
Javascript に対応していない場合は
<div id="menu" align="center">ここに出る</div>
がそのまま出ていますので、<div>の中に目次へのリンクを表示されたらいかがでしょう。

33   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>>31
すいません!横にならべることも出来るんですね。
調べる前に出来ないことを前提にした発言をしてしまって申し訳ありませんでした。

>>32
>WinXP SP2 なら,ローカル環境ではスクリプトがブロックされるはず
私の使っているパソコンはWinXPなのでスクリプト未対応として扱われると思ったのですが、、
ローカルで試してみると「ここに出る」は表示されずに「戻る」「次へ」は表示されました。
しかし「次へ」を押しても次へはいかず同じページが表示されます。
中途半端に対応しているということでしょうか?

携帯を使って試してみることにします。

34   名前: カヅサツ ◆ThCi95HEzw : 2006/08/06(日) 17:48  [URL]  ID:f0UXxXRM
> マークアップというのはつまり、なんかしらのタグで囲むという意味でしょうか?

というより、印を付ける行為ですね。例えば google というテキストを画像に置換するのであれば、
<img src="http://www.google.co.jp/images/logo_sm.gif" alt="google">

とします。

> ごめんなさい。<table>の代わりに<li>を使うのですか?どうすればいいのでしょう。

まずテキストを書き、次にマークアップすることで HTML にし、最後に CSS で見栄えを整え(おまけに JavaScript でちょっと便利な機能を加え)るのが、良いウェブページです。
進む 戻る

このような、単語(あるいは単文)を並べるテキストを、普通の(義務教育を終えた)人間なら「箇条書き」と呼びます。しかしコンピュータは馬鹿なので、1つ1つ印を付けて「これは箇条書きだよ」と教えてあげなければなりません。この印を付ける行為を「マークアップ」と言います。
幸運なことに、HTMLには「箇条書き」専門の要素があります。これが li要素です。そして、li要素のまとまりを「順不同の並び」にするのが ul要素です。
<ul>
<li>進む</li><li>戻る</li>
</ul>

これで、どんな環境でも「HTMLを解釈できる」のであれば、この「順不同の箇条書き」であることがわかります。

次に CSS で見栄えを整えます。

PC上で HTML文書を表示する「WWWブラウザ」の多くは、

・行頭にナカグロ(・)のようなマーカを付ける
・前後に改行する

ことで、「これは箇条書きだ」ということを表現しようとします。ですから、CSSでマーカをなくし、前後に改行をさせなければ良いのです。
li{
	list-style: none;
	display: inline;
}


でまあ、これを JavaScriptで生成するのですがもう寝ます。


35   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
>>28 匿名さん
>「表」じゃないから「箇条書き」で
あ、そりゃそうでした。納得。

>>33 花子さん
動きませんでした?また私の事だから凡ミスをしている可能性があります。
カヅサツさんのご指摘に従って、ちょっと変更。
これで試してみてください。
まずhtmlファイル(04.htm)
<html>
<head>
<title>ページ送りテスト</title>
<script type="text/javascript" src="test.js"></script>
<style type="text/css">
<!--
li{ list-style: none; display: inline; }
// -->
</style>
</head>
<body onload = initMenu();>
<div style="position:absolute;top:300px;" id="menu" align="center">ここに出る</div>
</body>
</html>

で、外部ファイル(test.js)
function initMenu() {
if (!document.getElementById("menu")) return;
document.getElementById ("menu").innerHTML = "<ul><li><a href='#' onClick='back()'>戻る</a></li><li><a href='#' onClick='next()'>進む</a></li></ul>";
}
selfurl = window.location.pathname;
xx = selfurl.split("/"); xx.reverse();
yy = xx[0].split(".");
function next(){
var num = yy[0]; 
num = ++num;
if(num < 10) { num = "0" + num; } 
nexturl = num +'.htm';
location.href = nexturl;
}
function back(){
var num = yy[0]; 
if( num != 01 ){
num = --num;
if(num < 10) { num = "0" + num; } 
backurl = num +'.htm';
location.href = backurl;
}
}

どうでしょう?

36   名前: Pid : 2006/08/06(日) 17:48  ID:JewatAma
どうしても JavaScript なんですか? SSI とか使えないんでしょうか?

<!-- スクリプト有効環境はこっち -->
<script type="text/javascript">

(function (n) {
    if (n)
        document.write (
            '<ul>'
          + '<li><a href="' + (parseInt (n) - 1) + '.html" rel="prev">前<\/a><\/li>'
          + '<li><a href="' + (parseInt (n) + 1) + '.html" rel="prev">次<\/a><\/li>'
          + '<li><a href="contents.html" rel="contents">目次<\/a><\/li>'
          + '<\/ul>'
        );
} )(location.pathname.split ('/').reverse ()[0].match (/\d+/));

</script>

<!-- スクリプト無効環境はこっち -->
<noscript>
<ul>
<li><a href="1.html" rel="prev" title="第一章">前</a></li>
<li><a href="3.html" rel="next" title="第三章">次</a></li>
<li><a href="contents.html" rel="contents">目次</a></li>
</ul>
</noscript>


え,これだとスクリプト使う意味がない? そう,だからこの件には JavaScript は不向きと,私は再三申し上げているわけで(noscript 要素の中身は「目次」だけでも構いませんが,>>16 に挙げた理由により,私は首肯できません)。

37   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>>34
マークアップの説明ありがとうございます。
納得することができました。
<li>についての説明ありの例、ありがとうございます。
私にも分かることができました。

>>35
携帯で試したところ、「ここに出る」が表示されました。
スクリプト未対応については携帯で試すことにします;
またも全て書いてもらって、ありがとうございます。助かります!
さっそく試してみたのですが、こんどはスクリプトに対応する場合、「戻る」「次へ」が表示したい場所よりもずっと上の方に表示されてしまいました。
表示したい場所を指定する方法はありますか?

38   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>>36
スクリプトに対応してない人にとって、直接「次へ」にいかずに目次へもどってから進むというのは不便なものですよね。。
やはり製作者側は楽を選ばず、より見ていただけるようにするべきでしょうか。



39   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:aFQVoQRt
 本題からはだいぶそれてしまっていて恐縮ですがご容赦ください(カヅサツさんに補足いただいた部分については省かせて頂きますので)。

>>24
>もともとあった小説サイトを改装していて、ページ数がとんでもなく多かったので、できれば本文をコピペするだけですませられるなら、
 既存のサイトから改装するのであれば、「本文だけコピー&ペースト」という手作業をするよりは、何らかのツールでデータを置き換える方が迅速にできそうな気がいたします。
 まず、設計からの見直しはいっぺんに行うのは大変なので、例えば下記資料を元に「出来るところから少しずつ始める」のがよろしいでしょう。

サイトリニューアルの方法論:
http://deztec.jp/lecture/rn/

 また、何もマークアップを施していないプレーンなテキストをHTML化するやり方には幾つか方法があります。例えば、ある特定の文字列を置換するための仮のマーカーを決め、テキストエディタの文字列置換機能を使うやり方です。

簡単に作る電子テキスト
http://www.kanzaki.com/docs/etext/

 ただ、段落の頭や段落の末尾を検出するためにどう手間を減らすかについては、TXET->HTML変換ツールなどを幾つかあたってみましたがいいものが見つかりませんでした(XML->XHTML置換ツールなどはちょっと素人には敷居が高いですし、Pre-HTML->JIS-HTMLも仕様書が有料なためあまり資料が無償公開されていないようです)。
 この件についてはどなたかご存知であればご紹介頂けると幸いです。

>>29
>それはつまり見出しごとにh1,h2を入れていかなければならないんですね。
 そうなります。ただし、見出しレベルで考えてください。例えば第一章を一つの文書にした場合、「第一章」がh1要素、「第一章第一部」「第一章第二部」(以下略)がh2要素、「第一章第一部第一節」「第一章第一部第二節」がh3要素、のようになります。

見出しについて:
http://www.kanzaki.com/docs/html/htminfo11.html#S3
http://members.jcom.home.ne.jp/jintrick/Personal/markup_main.html#heading

40   名前: Pid : 2006/08/06(日) 17:48  ID:9bTiLbYD
>>38
ですから,たとえば SSI/Perl は使用できないのでしょうか。お使いのサーバはどこですか。

<!-- HTML 文書の任意の位置に以下を埋め込む -->
<!--#exec cmd="navi.cgi"-->


exec が有効なレンタルスペースはあまりないと思いますがとりあえず。で,navi.cgi の中身(即席未検証)。

#!/usr/bin/perl

use strict;
package main;
{
    my $u = $ENV{DOCUMENT_URI};
    $u =~ s/.*(\d+).s?html?$/$1/i;
    
    my $prev = ($u - 1) . ".html";
    my $next = ($u + 1) . ".html";
    
    print <<__________HTML_DATA__________;
<ul>
  <li><a href="$prev" rel="prev">前</a></li>
  <li><a href="$next" rel="next">次</a></li>
  <li><a href="contents.html" rel="contents">目次</a></li>
<ul>
__________HTML_DATA__________
  
    exit 0;
}


これなら,サーバ側でナビを生成してから利用者に送られますので,どんな利用者でも大丈夫ではあるのですが。


JavaScript を使うなら,生成した HTML を「あとはコピペするだけ」の形で表示するローカルなエディタを作ってみてはいかがでしょうか。手元のツールを充実させるのは,作業効率を高める上で一番重要なポイントだと思います。

41   名前: Pid : 2006/08/06(日) 17:48  ID:9bTiLbYD
> JavaScript を使うなら,生成した HTML を「あとはコピペするだけ」の形で表示するローカルなエディタを作ってみては

補足ですが,これは全く難しくありません。たとえば,>>35 のかふぇおれさんの initMenu 関数の最後に alert (document.body.outerHTML); としてみれば,ナビを追加された HTML ソースが表示されますよね。それをコピペできるように,たとえば textarea 要素にでも出力してやるだけです。

本来なら出力の際のエスケープとかくろすぶらうざ等ややこしい問題が絡むのですが,自分の環境で自分だけで使うツールですから,うるさいことは言いません。動きゃいいんです (^^;)。

42   名前: カヅサツ ◆ThCi95HEzw : 2006/08/06(日) 17:48  [URL]  ID:O5hEMlpW
>>38
> スクリプトに対応してない人にとって、直接「次へ」にいかずに目次へもどってから進むというのは不便なものですよね。

不便ですね。でも、アクセスできなくなるわけではない(一手間かかる)から、まあいいんじゃないでしょうか。
SSI/perlでできれば一番良いのでしょうが。

43   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
う〜ん、Javascript でなければいけない理由って無い様な気がしますね(w
知的好奇心から Javascript でやってみたいって理由も構わないとは思いますが。

>>36 のPid さんの script って綺麗ですね〜。私もこの位整理された script を書きたいです。
でも、これって08や09ってファイルの時に不具合がおきませんか?

44   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
>>37 花子さん
表示したい場所に id="menu" を付記すれば良いのです。
>>35 だったら <div> の style="position:absolute;top:300px;" の 300px を変えてみてください。

Pid さんの script をまるぱくりして外部ファイル(test.js)を書くと(w
function initMenu() {
if (!document.getElementById("menu")) return;
(function (n) { 
document.getElementById ("menu").innerHTML = (
'<ul>'
+ '<li><a href="' + setNum(parseInt (n,10) - 1) + '.htm" rel="prev">前頁<\/a><\/li>'
+ '<li>&nbsp;<a href="contents.htm" rel="contents">目次<\/a><\/li>'
+ '<li>&nbsp;<a href="' + setNum(parseInt (n,10) + 1) + '.htm" rel="next">次頁<\/a><\/li>'
+ '<\/ul>'
);
} )(location.pathname.split ('/').reverse ()[0].match (/\d+/));
}
function setNum(num){ 
num = "0"+num; 
return num.substr(num.length-2,2); 
} 

# 強固に Javascript をお勧めするつもりはないですが、
# 折角ですから(w


45   名前: 徳保隆夫 : 2006/08/06(日) 17:48  [URL]  ID:Qs5JWIbd
私の記事が上の方で紹介されているのですが、花子さんに私はこんな方法を薦めます。投稿時刻とデザインをいじれるレンタルブログを借りて、

・1ページに1つの記事を表示する設定
・日付表示を隠す
・コメントやトラックバックなどを隠す

といった設定をし、あとはひたすら本文をコピーアンドペーストして投稿していく。これでよろしいのではないでしょうか。後ろへ行くほど投稿時刻を昔にしていけば、自然な表示順序になるでしょう。

seesaa ブログでは、ひとつのアカウントでたくさんのブログを作成できますので、小説ごとにブログを作ればいいと思います。そしてサイトの目次から、各ブログへリンクすればサイト完成。

seesaa では改行が自動で br 要素に置き換わるので、ブラウザの表示結果からコピーアンドペーストしていけばよろしいかと思います。もしフォントの設定を細かく行っている場合には、それを残したいでしょうから、「改行HTMLタグ変換」を「改行を<br/>タグに変換しない」に設定して、ソースからコピーアンドペーストしてください。

たくさんページがあるそうなので、いちいちマークアップをまじめに修正していたら、リニューアルなんていつまで経ってもできません。今後どうするかはともかく、過去の記事のマークアップを修正することは考えない方がいいと私は思いますね。

なお見出しの問題は、小説なら悩むことありません。ブログ名を作品名とし、各投稿のタイトルを「第1回」とか「第1章」とか、そういったものにすればよいでしょう。

46   名前: 徳保隆夫 : 2006/08/06(日) 17:48  [URL]  ID:Qs5JWIbd
リンクを忘れていました。

seesaa ブログ
http://blog.seesaa.jp/

47   名前: 牛若 : 2006/08/06(日) 17:48  ID:YUxKPKnx
個人的な嗜好の問題は承知の上で、私がブログ嫌いのせいもありますが、とくに小説
をブログで公表することは良い考えだとは思いません(ま、余計なお世話ですが)。
お薦めしない理由TOP5は次のとおりです。


1. ベージ展開が重いので、ぺーじ替えのたびイラつく。
2. 行間やフォントなどの小説にふさわしい細やかな設定に不足がある。
3. ページ数の多いファイルを第三者の無料ブログにUPするのは危険。
4. テキスト周辺の広告など邪魔なテキストや画像がウザイ。
5. 私のようにブログというだけで引いてしまうユーザーもいる。







48   名前: Pid : 2006/08/06(日) 17:48  ID:ptDYlt2i
>>43
> う〜ん、Javascript でなければいけない理由って無い様な気がしますね

私が気になっているのは,「代替記述をどうするか」この一点だけなんですよ。うまい代替記述の提案さえあれば,JavaScript でも構わないとは思うのですが。

まあ,代替記述に関して,>>16,>>36 の私の意見が極論であることは,私自身認識しております。おそらく,現実的な落とし所としては,>>6 の花子さんの「戻る」になるでしょう(>>42 でカヅサツさんが助け舟を出して下さいましたし)。ただ,もっとうまいやり方がありそうな気がするのですが,どうなんでしょう。


で,私は >>45 で徳保さんが『過去の記事のマークアップを修正することは考えない方がいい』と仰るのに,全く賛成です。

49   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
返事が送れてしまい申し訳ありません。

>>40
すいません。実はまだ移転先のサーバーが決まってない状態にあります。
CGIは使えた方がいいのか。広告の大きさ。などの問題で迷っている状況です。
ちなみに今使っているサーバーはSINOVI.JPでCGIが使えないので教えてもらった方法を試すことができません。
CGIやSSIでこの問題が解決するのなら、使用できるサーバーに決めようと思います。

>>41
これはローカルでやるんですよね?
さっそくやってみたところ、ソースは表示されたのですが、肝心の<a href="次のページ">次</a>のところが、
<a href="01.htm#">次</a>
となってしまいました。
どうやら表示しているページの最後に#がついたものが表示されるようです。


>>44
毎回ありがとうございます。
top:300px;"は上から300Pxという意味ですよね?topをanderにすれば下からの位置で指定できるのでしょうか?

>>45
ブログで……ですか。
たしかにブログならタグ打ちも少なくて良いし、コピペだけで済みますし、環境にかかわらず見れますね。
ただ>>47の意見を聞くと考えさせられます。
ブログの重さには私も困るときがあります。
ブログはやったことがないので使いやすさがわからないのですが、とりあえず試してみようと思います。

>5. 私のようにブログというだけで引いてしまうユーザーもいる。
私はブログだろうと気にしないのですが、見てもらう前にブログだからという理由で見てもらえないのも悲しいですね。







50   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:aFQVoQRt
>>49
>環境にかかわらず見れますね。
 そうでもないです。パソコンで閲覧した場合と、携帯電話(「フルブラウザ」搭載機種ではないもの)で閲覧した場合を比べて頂ければお分かり頂けると思いますが・・・。

(関連資料は>>22で提示済みなので省略します。)

51   名前: 徳保隆夫 : 2006/08/06(日) 17:48  ID:H0T21M4q
携帯電話からのアクセスを自動判別して、携帯電話専用ページを表示するブログサービスはたくさんあります。ライブドアブログはそのひとつ。ライブドアブログで小説サイトを運営する方法についての詳細な解説サイトをご紹介します。
http://blog.livedoor.jp/htmldwarf/archives/cat_1252852.html

ブログが重いとは限りませんし、余計な物だってカスタマイズすれば隠せます。ひとつ、私がブログツールを使って作成したサイトをご紹介します。軽さは保証しませんが、シンプルにできることだけはご確認いただけるかと。
http://deztec.jp/lecture/des/i/

ブログだから読まない人もいれば、ブログだから読む人もいます。RSSリーダーの利用者とか、小説ブログのコミュニティが好きな人など。手動更新のサイトは更新チェックが面倒なので読まないという人もいます。
http://novel.blogmura.com/

52   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:MRwTGpOM
>>49 花子さん
座標を指定しないでもコンテンツの下に配置すれば、自然と画面の一番下になる様な気がしますが。
下から固定にしたいのなら、bottom:10px; かな。親要素(この場合はbody)から位置を固定します。(macでしか見てませんので、もしかすると…)
<html>
<head>
<title>ページ送りテスト</title>
<script type="text/javascript" src="test.js"></script>
<style type="text/css">
<!--
li{ list-style: none; display: inline; }
div{ position:fixed; bottom:10px; left:40%;}
-->
</style>
</head>
<body onload = initMenu();>
<div id="menu"><a href="contents.htm">目次</a></div>
</body>
</html>

>>51 徳保隆夫さんのご提案のブログはアリだと思います。
特に『RSSリーダー』に対応している所は私的に(個人的価値観ですが)凄く魅力的です。
携帯への対応も結構しているのでは無かったでしたっけ?(根拠無しです)

53   名前: 匿名 : 2006/08/06(日) 17:48  ID:Fttg4VR3
既に製作した小説を生成しなおすのに使えるかどうかまでは確認していませんが、CGIでこんなのもありますよ。
>小説をブラウザから掲示板感覚で更新することができます。
と、あるので、コピペで使えるんじゃないかなーと思っていますが。

今後製作活動していくのに使用すると、楽かもしれませんね。

↓CGI関連TOP
http://htmldwarf.hanameiro.net/

↓CGI設置できるのならコチラが個人的におすすめ。
http://htmldwarf.hanameiro.net/normal/index.html

54   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
返事が大変遅れてしまい、申し訳ありません。

52>>
bottomでの指定でしたか。有り難うございます。
一番最初の試したときは一番下に表示されたんですけど、私がなにか別の場所にコピペしてしまったんでしょうか。
もう一度試してみます。

53>>
早速CGIが使えるサーバーを借りて試してみたのですが、何故かメニューが出なかったりと分からないことが多くありました。
そのサイトの管理人さんにエラーの原因を相談しようと思います。

ブログだから見ない人がいれば、ブログだから見る人もいる。ということですか。
でしたら、小説の目次に、スクリプト対応はscriptの現在の表示ページ数たす1の教えてもらった方法を。
対応していない人用にブログで見てくださいなどのリンクを貼っておくのはどうでしょう?
スクリプトに対応していなくて、なおかつブログ嫌いな人には見てもらえないかもしれませんが、小数だと思うので。
それにブログ単体だけでもブログにサイトへのリンクを貼っておけば、ブログを見てサイトに来てくれる人も増えるかもしれません。
どうでしょう?
あまり良い代理作とは言えませんか?

>>40の方法は、CGI・SSIが利用サーバーがなかなか見つからないので、見つかったら試してみようと思います。

55   名前: 牛若 : 2006/08/06(日) 17:48  ID:b4kmdU5S
どうもこのスレッドの展開が私にはよくわからないのですが、花子さんが、最初の投稿をされたときには

1.小説のページが増えてくると、ページ毎に前後のページ番号をリンクに書き込んで行くの
のか思うと気が重い。なにか簡単にできる方法は?

という相談。

2.「ありますよ」と、JavaScriptでのファイル名±1のコード提示。

「助かりました、ありがとう」と花子さん。一件落着かと思いきや。

3.ちょっと待った!JavaScriptでリンクなんか書いたら、JavaScriptをOFFにしている人が
ページ遷移できなくなりますよ。

というツッコミ。「それもそうですね、考えてみます」と花子さん。

4.あらあら考え込んでしまいましたね。そんな人が出たっていいじゃないですか。所詮、みんなが満足するページなど作るのはたいへんなことです。

と強行にJavaScriptでのリンク記述を勧める投稿。


5.HTMLのリンクでページあたり2箇所数字を入れ替える労を惜しむな。それだけでみんながハッピーになれるのに、という私の投稿。

それに対する、批判。

7. マークアップの話。

8.JavaScriptの強行論。

9. SSI、CGIは使えないのか論。

10. ブログでやれば簡単論。

11. JavaScript利用者にはHPで、非対応者にはブログへ誘導。

・・・・・・

私には、なんでこんなややこしい、面倒くさいことをするのか、まったく理解不能。
CGIとSSIは重くて、なんて話はネットにごろごろしている。
12で書いたことではあるけれど、もう一度、

<a href="04.htm">前頁</a> | <a href="06.htm">次頁</a>

リンク記述を自動化しても、コンテンツはその都度書くわけだし、
コンテンツを書くときに、数字を2箇所入れ替えるだけの話。
これで、全てのユーザーがハッピーになる。 

56   名前: NullPo : 2006/08/06(日) 17:48  ID:1Bb3RL38
基本的に>>55に賛成。

というか、そもそも、CGIなんてめんどくさいことやるくらいなら自前でHTML生成プログラムを作ったほうが楽。
>>16のaに当たる方法かな。
ファイルを開いてファイル名からAタグを追加するだけという簡単処理。
CGIプログラミングができるなら間違いなくできる。

57   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:MRwTGpOM
>>55 牛若さん。
質問者さんの意図とは違う所で議論が伸びてしまう感がありますので、
「脱線スレッド」http://www.tagindex.com/cgi-lib/bbs/patio.cgi?mode=view2&f=146&no=87 に発言させて頂きました。

>>54 花子さん。
立場(WWWに対しての認識・接し方)によって妥当とされる線は幅があります。
そしてこのスレッドは様々な方が回答してくださってます。
花子さんがどんな状態を「問題解決」とされるかは解りませんが、
経験を積み、時間が経つ事で必ずその解決とされた方法(状態)よりも、より良い方法(状態)が見つかります。
それをどうするか考えるのがまた、楽しかったりする訳で…(w
ま、決めるのは花子さんです。今までに出た案で決めなければいけない訳でもないし、花子さんが想定する利用者が回答者の想定する範囲から外れている可能性もありますし。
焦らないで妥当と思える線を考えてください。

ただ、「どう考えたから」「どの様な解決にした」かはなるべくこのスレに報告してくださいね。私自身もとても興味があり、楽しみにしています。

58   名前: 徳保隆夫 : 2006/08/06(日) 17:48  ID:Y2Z2qEHs
>>54
いろいろな読者に対応して複数の選択肢を用意するのはもちろんひとつの方法ですが……個人的な経験からも、また過去の観察からも、基本的にそういった配慮は継続が困難です。人気のある小説サイトは1日数千人の読者が訪問しますし、人気のある小説ブログだって同様です。正直、大半の読者はブログだろうとそうでなかろうと気にしていない。ごく一部の読者に対応するために、わざわざ作業の手間を二倍にできますか。その意欲があるなら、作品に力を注いだ方がいいのではないか。

とりあえずふたつの形式で読者に作品を提供してみる、それはかまいません。ただ、いずれ決断のときはくるはずです。

59   名前: あや : 2006/08/06(日) 17:48  ID:TRVH9wjM
 このスレッド、興味深く読ませて頂いております。
 私は牛若さんの意見に近いです。
 というのも最初はHTMLのことはおろか「サイトってなんですか?」の状態だったのに自分が書いた小説を読んで欲しくてブログで始めたのですが、今はサーバーを借りてサイトを開いています。
 文字数制限やサーバーの不調もありましたが、ブログでは物足りなくなってきたのが一番の理由です(素敵な素材屋さんに巡り会って、どうしても使いたかったのです)。
 だから花子さんがどのような選択をされるのかとても楽しみにしています。

 そんな現在の私の小説は、10KB以下になるようにしたファイルはXHTMLで書き、CSSはmedia属性で携帯用とPC用の二つを用意し、<a href="04.htm">前頁</a> | <a href="06.htm">次頁</a>で選択して貰う方法を選びました。

60   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
皆様、ありがとうございます。
いつの間にか参照者は1000人を超え、これでちょうど60の発言になるわけで…
それだけ私の楽をしたいというわがままのために皆様のお時間をさき、迷惑をかけていますね。

何が解決策かと問われれば、本来普通に<a href="02.htm">次へ</a>にするべきですよね。
ですがそれをせずに、ここへ相談にきたのは私のわがまま。
それは分かっているのです。
しかし私にもわがままを言いたいぐらいの訳はあり、やっぱり一番いいのは<a href="02.htm">次へ</a>ですよね、といいすぐに実行できるぐらいの軽いものではありません。
数字を入れ替えればすむじゃないかといわれれば、そうですけど。。

私は私なりに考えました。
>>40のCGIを使えればいいのですが、なかなかCGIが使える思うようなレンタルサーバーが見つかりません。
よくよく考えれば、移転前の現在のサイトでは、すでにスプリクトを使っており、未対応のためのものもありません。
初心者だから……とは言い訳のようであまり言いたくはないのですが、そういうわけで今現在のサイトはすでにスプリクト未対応の人を追い出すようなものになっていたわけです。
だから今回スプリクトを使ったとして、客が増えることはなくても減ることはないと思うのです。(スプリクトのせいでの)
ですから私は、スプリクトで書き、未対応のかたには戻るで目次に行ってもらうことにしました。
ずっとこの戻るが良くないと言って口論が続いていたわけですが、私にはしっくりくる改善策が見つけられませんでした。
<a href="02.htm">次へ</a>があるじゃないか、とはこの際言わないで下さい。

もちろん今までの閲覧者がいれば、また新たに来てくれた方が不便になったらいいかと問われれば、それは違うと思います。
だから、今までの分はスプリクトで書いてしまい、これからは<a href="02.htm">次へ</a>にする。そして移転後落ち着いて暇ができたときにスプリクトで書いた部分を<a href="02.htm">次へ</a>に徐々に直していこうかと思います。

いままで協力してくださった方々。
結局はこういう結論かよ、と思う人もいるかもしれません。
ですが私は皆様の出してくださった意見も頭に残し、これからの運営の参考にします。申し訳ありませんでした。

ブログの話が出てきて、少し面白そうだと思ったのでブログも試すかもしれません。
まだ決めてはいませんが、まずは経験かなっと思うので。
>>58
たしかに手間を2倍にかけるぐらいなら、作品に力をいれたり
<a href="02.htm">次へ</a>の数字入れ替えをする方が良いですね;

では、本当にありがとうございました。
またここでお世話になるようなことがあれば宜しくお願いします。
ここで話し合ったことは、すごくためになりました。
別のことでも役にたてられるようにします。

61   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
申し訳ありません。
スクリプトを使ってやると決めたハズだったのですが、CGIを使えるレンタルサーバーを借りたので、>>40の方法が使えないかと思い試してみました。

<!-- HTML 文書の任意の位置に以下を埋め込む -->
<!--#exec cmd="navi.cgi"-->
は、BODY内の次へや前へを表示したい場所へ書くんですよね。
そしてnavi.cgiを同じフォルダ内に作りました。
しかし、次へや前へは表示されませんでした。

http://cocohome.hp.infoseek.co.jp/ssi/exec.html
に、
>2002年11月からiswebでは「#exec」は使用できなくなってしまいました。「表示できていないよ」とお知らせくださったNobさん、ありがとうございました。以下の説明は「#exec」を実行できる環境の方にしか意味がなくなってしまいました。

とあるのですが、私の環境が実行できない環境だから表示されないのでしょうか?
それとも使っているレンタルサーバーがexecを使えないのでしょうか。
過去の質問や説明を見てみてもexecが使えないとも使えるとも書いていませんでした。
使っているレンタルサーバーはロリポップです。

62   名前: かふぇおれ : 2006/08/06(日) 17:48  ID:Ji0blfRq
こんにちは、花子さん。
SSI で表示する事になされたのですね。
基本的な事ですが、ロリポップサーバーの SSI 使用上の注意はお読みになりましたか。
ありがちな事はファイルの拡張子(shtm もしくは shtml)とか、
実行ファイルまでのパスを絶対パス(フルパス)で指定すると動作出来ないとか、
パーミッションの設定で間違っているとか、CGIファイルの先頭行に余分な改行があるとか…。
それと、Pid さんがお書きになった>>40 では html を切り離す様になってますが、花子さんは htm でしたよね。

# なんとなく新規スレッドを立てた方が良い気が…。

63   名前: Z ◆XTzyosZXcL : 2006/08/06(日) 17:48  ID:P1sb1nP7
>>61
>使っているレンタルサーバーはロリポップです。
 ロリポップにも各種質問場所がありますが、そちらはお探しになってみましたか?サーバー固有の問題は、直接そちらに当たった方が解決しやすいですよ。例えば下記など。

Lolipop User's Forum:
http://forum.lolipop.jp/

ロリポキング:
http://lolipoking.lolipop.jp/

http://lolipoking.lolipop.jp/page/patio.cgi?mode=view&no=5830と同じ現象かもしれないように思えました。

 あ、もし移動される場合はこちらのスレッドは終結させてくださいね(^^;

64   名前: 花子 : 2006/08/06(日) 17:48  ID:x8aqmlLd
>>61
ロリポップの掲示板にはexecと検索ワードを入れ調べたのですが出てきませんでした。
検索ワードが悪かったようですね。申し訳ありません。

>>60
拡張子が.htmになっていたようです。.shtmに直しましたが、ローカルで試した場合にはメモ帳と同じように<BR>のようなタグまで表示されました。サーバーにアップした場合には、次へや前にが表示されていませんでした。
>実行ファイルまでのパスを絶対パス(フルパス)で指定すると動作出来ないとか、
とは、たとえば目次ページから一話目にいくさいに絶対パスではなく01.shtmという相対パスで入力するということでしょうか。それならば大丈夫です。
>>40のものをコピペしただけなので頭に改行はありません。
.htmlの部分も.htmに直しました。


ありがとうございます。
新規スレッドを立てることにします。

65   名前: Taijo : 2006/08/06(日) 17:48  ID:3yOiHYYJ
初めまして。

 花子さんがしたいと思うのに近いことを考えていました。
ただ、[戻る]、[進む]のボタンはindex.htmlで、切り替わるページの表示場所は同ページの iframe 内というのには対応出来ないでしょうか?
ページは連番で0.html〜か、1.html〜で。

 >>1 のスクリプト に近い感じが私にもやりやすそうなので、ボタンが切り離されたらできるのかな? と考えています。。

 どなたかよろしくお願い致します。

66   名前: えじ ◆HtEaXt.II9 : 2006/08/06(日) 17:48  ID:WP1ytrfY
>>65 の質問は、下記のスレッドへ移動されたようです。

http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi?mode=view&no=590

一覧へ戻る