ホームページ上から指定のファイルをダウンロードすることが出来るようにページを作ろうかと思っています。イメージとしては、商品のマニュアルダウンロードと言えばわかりやすいでしょうか。
商品名をクリックすると指定のpdfファイルがDL出来るようにする物です。
ただ、ファイルが1000個程度になりそうなので指定のファイルをすぐ探し出すのは困難です。
そこで、そのページ上だけを検索してヒットした場所に移動するようにするにはどうしたら良いでしょうか?
いわゆるブラウザの「検索」機能ですが、出来るだけわかりやすいようにページ上での入力で表現したいと思います。
------------------------
□□□□□□□□ [検索]
商品名1 [Download]
商品名2 [Download]
商品名3 [Download]
~~
-------------------------
こんな感じです。
何か良い方法はありませんか?
お願いします。
No.2ベストアンサー
- 回答日時:
<script language="JavaScript">
<!--
var Nsc4 = (document.layers);
var Ie4 = (document.all);
var win = this;
var n = 0;
function seek_str(str) {
var txt, i, found;
if (str == ""){
alert("なにか文字をいれてください。");
return false;
}
if (Nsc4) {
if (!win.find(str)){
while(win.find(str, false, true)){
n++;
}
}else{
n++;
}
if (n == 0){alert(str + " は見つかりませんでした。");}
}
if (Ie4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}else{
if (n > 0) {
n = 0;
seek_str(str);
}else{
alert(str + " は見つかりませんでした。");
}
}
}
return false;
}
//-->
</script>
以上でページ内検索ができるようになると思います。
ただし、Opera7.23ではリロードするだけで正常に
動作しません。Operaでは動作しないように、または
表示させないようにするスクリプトを追加する方が
いいでしょう。
実際にはブラウザの検索機能があるのでそれほど
気にすることはないと思いますが、ある程度
カテゴリ分けをしておくことやおいうえお順に
整理しておくなどするとよいと思います。
返答ありがとうございます。
多分、このページを見るのはIEのみなので(限られた人しか見ないため)多分これでいけそうです。
ありがとうございました。
No.1
- 回答日時:
JavaScript(NN4~)ですが……。
findってえのがあります。
書式は
winName.find(strObj[,case[,bward]])
winName:ウィンドウ名(省略可能)
strObj:検索文字列
case:大文字/小文字区別(true=する、false=しない)
bward:検索方向(true=上に、false=下に)
方言がきついです。IEでは動かないでしょう。
その他の方法として、
商品名を配列に格納。
ページ上の商品リストにラベルをつける。
商品名とラベルの対応表を配列にする。
入力文字列で商品名配列を検索(これは逐一検索になるな)。
対応表配列からラベルを判定。
ラベルにジャンプ。
っていうのがあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- ホームページ作成・プログラミング パスワードつきホームページ トップページ以下はどうなる 6 2022/08/16 12:04
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- Amazon アメリカのAmazonの商品ページを見るにはどうすれば良いでしょうか。Amazon.comで検索しA 4 2023/04/02 19:07
- メルカリ ジャンク品を高値で出品する人は何故? メルカリやヤフオクで ジャンク品なのに相場くらいの強気な価格 4 2022/10/01 00:31
- ヤフオク! ヤフオク 落札者なしの商品ページを削除したい 1 2023/08/04 16:36
- WordPress(ワードプレス) WordPressのサイトにPDFをアップロードした際にGoogleなどの検索結果に出ないでほしい 1 2022/08/03 10:44
- Excel(エクセル) エクセル 多数のファイルから値を抜き出したい 4 2022/12/12 16:49
- PDF EXCEL ページを指定してPDF出力するVBAを教えてください。 2 2023/02/09 10:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
JavaScriptでの動的な多次元配...
-
C#テキストボックスの文字を配...
-
空の配列に2次元配列の追加
-
gas 配列
-
1から20までの整数から、重複な...
-
jspからjavascriptの変数引継ぎ
-
メソッドが返す配列オブジェク...
-
配列の初期化
-
JavaScript で配列の終わりまで...
-
JavaScriptで簡単なクイズを作...
-
React hooksが値を返して配列変...
-
javascriptからphpに配列データ...
-
javascript 変数名の連結をしたい
-
functionから別のfunctionを実...
-
<a>タグのテキストを取得
-
javascriptとphpの連携で疑問
-
Javascriptグローバル変数の値...
-
関数でy=g(x)のgとは何の略です...
-
ActiveXobjectが作成できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
javascriptで行を抽出したいです。
-
二次元配列の全要素の全要素を...
-
JavaScriptにおける[] とか :...
-
JavaScriptでの動的な多次元配...
-
順列生成アルゴリズムについて...
-
WSH(Jscript)でファイル一覧
-
JavaScriptからPHPに配列を渡す...
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
textareaに入力されたデータを...
-
どうすればresponseText結果を...
-
オブジェクトから任意のプロパ...
-
フォーム入力値の重複チェック
おすすめ情報