旅行好きのおしりトラブル対策グッズ3選

作ったページには、あらかじめリンクするページのアドレスをセットしておきます。
その後に順次作成して行く予定で、最終的には全てのリンク部分がつながるように
なっています。
しかし、全てが出来るまでの間に出来ていないリンク部分をクリックすると、
エラーになってしまうので、そのリンクが切れていると、予め用意してある臨時の
アドレスにジャンプするようにしたいのです。

可能であれば、簡単な説明でお願いします。

A 回答 (4件)

参考URLにある「孤島発見器」というソフトで HTML のリンク切れを抽出することが


できます。

# ということではない?

参考URL:http://nd001-ap.eng.hokudai.ac.jp/~sakurai/
    • good
    • 0
この回答へのお礼

すいません。違っていますね(^^;)
時分で使うスクリプトなので、ネット上に無くてもファイルとして使えれば良い
物を考えていたのです。たとえば日記帳や画像ファイル。それを自分なりにリンク
させたTOPページを作っておき…最終的にはCDなどで保存しようと思っていま
した。

自分でも考えているうちに、ページ内の画像を参照することで出来そうな感じ
なので、ありがとうございました。

お礼日時:2002/02/13 05:09

CGIならファイルの有無をチェックして処理分けすることも可能ですが、リンク切れを JavaScript で判断することはできません。



サイト製作の上でリンクミスをなくすための管理方法を考えているのであれば、全てのサイト内リンクを JavaScript で処理するというのも手です。
ジャンプ用の関数を JavaScript の外部ファイルに書いておき、それに渡すパラメータでページを特定し、そのページが未作成であれば臨時のアドレスに飛ばす、という感じです。

実装方法で不明な点があれば補足をお願いします。

この回答への補足

>サイト製作の上でリンクミスをなくすための…
html で本などの文章をまとめたものを作っているだけで、公開するとかじゃ
ないです。
ただ、『ここの文章は…を参照して』とリンクする場所を先に書いていっても、
最終的には全てのページを作らなかったとしたとき、作っていないリンクの部分を
全て探し出して…というのが面倒なだけなのです。

また、リンク切れをチェックするというのは無いと思います。だから、そういう
時に判断できる方法があれば…と思ったのですが、

補足日時:2002/02/10 04:49
    • good
    • 0

特定のページを未完成ページの名前で、複数作っておけば完成後置き換えるだけで良いのでは。


普通は、そう作ると思いますが。

この回答への補足

リンクしている部分はページごとに異なっていて、置きかえるミスに気がつかない
でCDなどに焼いてしまうと…ということもあるので。

>普通は、そう作ると思いますが。
今までだったらこれで十分だったんですけどね、出来ないのと分らないのは違い
ますからね。

補足日時:2002/02/10 02:32
    • good
    • 0

「あらかじめリンクするページのアドレスをセット」しておくなら、


「予め用意してある臨時のアドレス」の内容を、全ての未完成リンク先
に書いてしまう方が簡単では?
ただ、そういうページ作りは嫌われるかも。訪問者はリンク先を期待して
クリックして、ページを読み込んでから未完成と知らされるのですから。
ご質問の意図をはずしているかもしれないので「自信なし」

この回答への補足

臨時アドレスと書いたのは、エラーをさせないためにTOPなどに戻すという
だけのことです。

以前にどこかで、リンクが切れているとリンク切れのマークを表示するサイトが
あったのですが…どのように表示していたのか見てなかったので(^^;)

補足日時:2002/02/10 02:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel VBAでリンク切れをチェックしたい。

Excel VBAでリンク切れをチェックしたい。
図のように、リンク一覧からリンクを調べ、問題なければ「○」を表示し、リンク切れの場合は「×」を表示したいんですが、どんなプログラムを組めばよいですか?
よろしくお願いします。

Aベストアンサー

誰もレスを付けないと思いましたので、こちらでも作りましたのでアップしておきます。
#1の方とは、少し意味が違う部分があるかと思います。

以前、ここの掲示板で出したことがあると思うのですが、もう見つかりません。

一応、今回は、自分用で作ってみました。プロバイダからクレームが付きそうな気がしましたが、実行してしまいました。常識の範囲でお使いください。あまり速くはありませんが、ハングはしませんでした。

リンク先のチェックは、838件を一気にチェックしてしまいましたが、これほどはやらないほうが良いかもしれません。100件やって休むとかしたほうが良いような気がします。

ユーザー定義関数の戻り値は、いくつかあります。ステータス200は、◯ですが、その他は、種類がいろいろありますので、×にせずに数値や文字にしました。基本的に、ステータスコードの200は、全部返しました。

数字については、ステータス・コード表をごらんになってください。
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/status.html

例:
404 サイトがなくなっています。
403 アクセス権限がないということですから、ログインしなければ分からないかもしれません。
他にも、いくつか種類が出てきます。
n.a と出るのは、サーバーが受け付けないものだと思います。

アンチウィルスソフトで、禁止区域に入った時は、メッセージが出てきました。しかし、そのままで続いていきます。
このマクロ使用中でも、スクロールは可能です。

場所は標準モジュールです。

''//--
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private objHTTP As Object
Sub Main_URLChecking()
  Dim c As Range
  Dim i As Long
  ''Microsoft WinHTTP Service, version 5.1 '参照設定する場合
  ''Set objHTTP=New winHttp.WinHttpRequest '
  For Each c In Range("B2", Cells(Rows.Count, 2).End(xlUp))
    If LCase(c.Value) Like "http://*" Then
      c.Offset(, 1).Value = CheckURL(c.Value)
      Sleep 200  'Wait を掛ける
      DoEvents   'ESCで離脱できるようにする。
    End If
  Next
   Set objHTTP = Nothing
End Sub
Function CheckURL(ByVal strURL As String) As Variant
  Dim num As Variant
  On Error GoTo ErrHandler
  If objHTTP Is Nothing Then
     Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
  End If
  objHTTP.Open "GET", strURL, False
  objHTTP.Send
  If objHTTP.Status = 200 Then
    CheckURL = "◯"
  Else
    CheckURL = objHTTP.Status
  End If
  Exit Function
ErrHandler:
  If Err() <> 0 Then
    CheckURL = "n.a"
  End If
End Function

''//--


なお、今度は、これを、ハイパーリンクのリストに反映しないといけないのかな?

誰もレスを付けないと思いましたので、こちらでも作りましたのでアップしておきます。
#1の方とは、少し意味が違う部分があるかと思います。

以前、ここの掲示板で出したことがあると思うのですが、もう見つかりません。

一応、今回は、自分用で作ってみました。プロバイダからクレームが付きそうな気がしましたが、実行してしまいました。常識の範囲でお使いください。あまり速くはありませんが、ハングはしませんでした。

リンク先のチェックは、838件を一気にチェックしてしまいましたが、これほどはやらな...続きを読む

Qあるurlが存在する(?)かどうかを返す関数が知りたいです。

例えば、
http://www.abc/def.htm
のページが存在するかどうかを調べる関数あったら教えて下さい。
また、javascriptでは不可能であるなら教えて下さい。

Aベストアンサー

JAVAスクリプトではできなさそうなので、
VBSで。。。
たとえば、GET.vbsというファイル名で記述します。
Dim objRequest
set objRequest= WScript.CreateObject("Microsoft.XMLHTTP")
objRequest.open "GET", "http://www.abc/def.htm", False
objRequest.send
msgbox "Status: " & objRequest.Status & " " & objRequest.StatusText & vbCRLF
msgbox objRequest.getAllResponseHeaders
msgbox objRequest.responseText

Statusの値が、"404"なら存在しないということかな。
ちょっと、確認してないですが悪しからず。

Qjavascriptでセレクトボックスの"selected"を動的につ

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>月

<select name='day'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日


このセレクトボックスに、例えば今日の日付"2010年9月30日"だったら、それぞれの年、月、日の<option>に"selected"をつけたいのですが、javascriptではどのようにして実現したら良いのでしょうか?

よろしくお願いします。

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8...続きを読む

Aベストアンサー

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
</select>月

<select name='day'>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日
</div>
</form>

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<opt...続きを読む

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。

QHTMLからフォルダを開きたい

いつも大変お世話になります<(_ _)>

Webサーバー上にあるWebページ(HTML)の中に、ローカルPCのフォルダを開くリンクを付けたいのですが、
<a href="file://c:\windows">OPEN</a>
としても、何も反応しません。

いろいろ調べたのですが、上記の方法しか見あたりません。

なお、ブラウザのアドレス欄に file://c:\windows と入力すると、フォルダの内容が表示されます。
※Firefoxだと、ファイルの一覧になりますが・・・

何か環境によって挙動が異なるのでしょうか?
それとも、セキュリティ上の観点から最近じゃ出来なくなっているのでしょうか?

是非ともお助け下さい。宜しくお願い致します。

Aベストアンサー

file:///C:/windows/
/は三つでは・・・
 IEの場合はエクスプローラ(ファイルマネージャ)が開くような・・・
 IEはファイルマネージャーと一体のブラウザなので・・・

★実は、ローカルサーバーが必要です。
 apacheでも何でも良いので、WEBデータの入っているフォルダーを
<VIRTUALHOST 127.0.0.1>
C:\Document and settings\my document\web
 とかに指定して、Windowsのhostsファイルで、適当なサーバー名を指定しておきます。
myLocalhost 127.0.0.1
とか・・・

 そうすると
http://myLoclahost/
 で開けます。

 

QCSVファイルの中で、「 , 」カンマを使いたい

「 , 」で区切られたCSVファイルの中で、「 , 」カンマを使いたいのですが、可能でしょうか?

具体的には「これは1,500円でした。」というように、CSVファイルに収められた文章内で出てくる半角の数字(お金)の区切りに使いたいのです。
全角では代用したくないのですが、CSVファイルでデータを受け渡しする際に、困っています。

例えば、特殊文字などで対応可能でしょうか?

Aベストアンサー

受け渡しに使うと言うことは相手方のアプリケーションのことも考えなければいけないのですが・・・とりあえず対応が簡単そうな方法を。

1.各セルを""で囲む。(もちろんデータにダブルクォートがある場合はカンマと同様に困ります。
2.カンマで区切らずにタブで区切る。(比較的使われない文字ですが、やはりデータ中にタブがあるとカンマと同様です)

難しいけれど完璧に対応するためには、データ中の区切り文字は特殊な文字列に変更し、受け取り側のアプリケーションではその特殊な文字列をデータ中の区切り文字として扱うという方法が使われます。
例えば、データ中のカンマは\,にするとか。

データ作成側、受け取り側でそれぞれどこまで対応できるのか分かるともっと簡単かつ具体的な方法を回答できるかも知れません。

Qtableのcellpadding="0" cellspacing="0"をCSSで

tableのcellpadding="0" cellspacing="0"をCSSで設定する方法を検索したところ、
border-collapse:collapse;
border-spacing:0;
というアドバイスが記載されていました。
実際に使ってみたのですが、
どうしてもセル余白とセル間隔が発生してしまいます。
どうしたらよいですか。

Aベストアンサー

border-spacingはborder-collapseの値がseparateのときしか有効にならないそうです。
http://www.htmq.com/style/border-spacing.shtml

サンプルが
http://www.htmq.com/style/border-collapse.shtml
にあるので参考にしてください。

# それにしてもこんなプロパティがあるとは知らなかった…

参考URL:http://www.htmq.com/style/border-spacing.shtml

QAjaxが動きません~『status=0』?

Ajaxを使うため、
web上のサンプルをとってきて実行してみたところ、動きません。

いろいろ調べてみたところ、
通常
 if(httpObj.status == 200)
などで使われるstatusが0になっていることが分かりました。

どこかで
 『ローカル上ではstatusは0になる』
という記述を見たのですが、Apache2.0.59が入っています。

Apacheが入っていてもstatusは0になるのでしょうか?

今回使用したサンプルは以下のサイトをのモノを貼り付けました。
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter02/004/index.html
その上で、
  if ((httpObj.readyState == 4) && (httpObj.status == 200))
  {
    displayData();
  } else {
    document.ajaxForm.result.value = httpObj.status;
  }
としました。


これで2日悩んでいるので、解決したいのです。
よろしくお願いいたします。

Ajaxを使うため、
web上のサンプルをとってきて実行してみたところ、動きません。

いろいろ調べてみたところ、
通常
 if(httpObj.status == 200)
などで使われるstatusが0になっていることが分かりました。

どこかで
 『ローカル上ではstatusは0になる』
という記述を見たのですが、Apache2.0.59が入っています。

Apacheが入っていてもstatusは0になるのでしょうか?

今回使用したサンプルは以下のサイトをのモノを貼り付けました。
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/c...続きを読む

Aベストアンサー

> error.logにしか書き込みがないという時点で失敗なのがよく分かりました。
Apacheの起動に失敗してるのでは?

まさかとは思いますが、Apacheをインストールしただけで動いてないとか、使ってないとか、
そういうことはないですよね?
アクセスするアドレスってどうなってます?
ちゃんとhttp://localhost/~ または http://127.0.0.1/~としてますか?

> 『ローカル上ではstatusは0になる』
語弊のある書き方ですが、ウェブサーバーを使わずにファイルを読み込んだ場合、
つまり、file:///~のようなアドレスになる場合にstatusを受け取れません。
ローカルでもウェブサーバーを使っていればstatusコードを受け取れます。

蛇足になりますが
statusを見るだけだったらContent-typeは関係ないですよ。
ファイルが有れば200、エラーならそのエラーコードが入ります。
404 FileNotFoundとかのHTTP Status codeと同じですので。

>   if ((httpObj.readyState == 4) && (httpObj.status == 200))
>   {
>     displayData();
>   } else {
>     document.ajaxForm.result.value = httpObj.status;
>   }
この書き方では、else文はたぶん意味はないと思います。

readyStateの変遷を見るためなら

document.ajaxForm.result.value += httpObj.readyState + ', '+ httpObj.status + '\n';

、、、を、if文の前に書いた方がいいと思います。(たぶん動くと思うので)

> error.logにしか書き込みがないという時点で失敗なのがよく分かりました。
Apacheの起動に失敗してるのでは?

まさかとは思いますが、Apacheをインストールしただけで動いてないとか、使ってないとか、
そういうことはないですよね?
アクセスするアドレスってどうなってます?
ちゃんとhttp://localhost/~ または http://127.0.0.1/~としてますか?

> 『ローカル上ではstatusは0になる』
語弊のある書き方ですが、ウェブサーバーを使わずにファイルを読み込んだ場合、
つまり、file:///~のよ...続きを読む

Qwindow.openがIEでエラーにされる

こんにちは。

今作成中のサイトで、地図印刷用ページをポップアップ表示させるため、以下のようなコードをつくりました。

html側
<a href="javascript:printwindow('map_print.html');">

js側
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0,top=0,scrollbars=1,resizable=1");
}

しかし、これではFirefoxでは新ウィンドウがエラーなしで表示されたのですが、IEでは「ページでエラーが発生しました」と言われ、ウィンドウが開きません。エラー内容は以下の通りです。

ライン:4
文字:2
エラー:引数が無効です。
コード:0
url:(エラーを起こしたファイル)

色々と試したり、検索したりもしたのですが原因究明に至れないため質問いたします。window.openがIEではなにか問題がありそうな気配だけはわかった気がします(的外れなのかもしれませんが)。原因をお教えいただけますと大変助かります。よろしくお願い致します。

こんにちは。

今作成中のサイトで、地図印刷用ページをポップアップ表示させるため、以下のようなコードをつくりました。

html側
<a href="javascript:printwindow('map_print.html');">

js側
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0,top=0,scrollbars=1,resizable=1");
}

しかし、これではFirefoxでは新ウィンドウがエラーなしで表示されたのですが、IEでは「ページでエラーが発生しました」と言われ、ウィンドウが開きません。エラー内容は以...続きを読む

Aベストアンサー

> htmlファイルとの差といえば、<title>タグが無題ドキュメントか正式名か、

これが原因な気がします。window.openの第二引数で使用できない文字を設定しているのではないかと。具体的に何が駄目かは分かりませんが、例えば「\」とかをタイトルに入れるとエラーが発生しました。

Q別ファイルのfunctionの読み込み方

こんにちは
外部ファイル hello.js
-----------------------------
function aisatsu(){
var aa="hello"
}
-----------------------------
というファイルが存在した時にjikkou.htmlでaaの値、”hello”を呼び込みたい場合はどう記述すればよいのでしょうか?htmlのなかでaisatsu()をどこに記述していいのか分かりません。どうか教えてください。ただ、hello.jsのほうは実際の記述を簡略化したものであるのでそちらのほうはいじれません。

宜しくお願いします。

必要ないかもしれませんが、念のために私が最初に書いたhtmlの文です(もちろん実行できませんでした)
------------------------------------
<html>
<script language="javascript" src="hello.js">
aisatsu(){
document.write(aa);
}
</script></html>
------------------------------------

こんにちは
外部ファイル hello.js
-----------------------------
function aisatsu(){
var aa="hello"
}
-----------------------------
というファイルが存在した時にjikkou.htmlでaaの値、”hello”を呼び込みたい場合はどう記述すればよいのでしょうか?htmlのなかでaisatsu()をどこに記述していいのか分かりません。どうか教えてください。ただ、hello.jsのほうは実際の記述を簡略化したものであるのでそちらのほうはいじれません。

宜しくお願いします。

必要ないかもしれませんが、念のために...続きを読む

Aベストアンサー

function内で「var」をつけて変数を宣言するとfunction外からその変数の内容を取得することができなくなります。(returnで参照することはできます。)
なので変数の内容を取得する場合は「hello.js」の内容を

function aisatsu(){
var aa="hello";
return aa;
}

このように修正し、

<script language="javascript" src="hello.js"></script>
<script language="javascript">
var data=aisatsu();//「aisatsu()」関数の「aa」変数内のデータを引っ張り出す(return aa;)
document.write(data);//書いたり
alert(data);//アラートしたり
window.status=data;//ステータスバーに表示したり・・
</script>


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報