
ホームページ上から指定のファイルをダウンロードすることが出来るようにページを作ろうかと思っています。イメージとしては、商品のマニュアルダウンロードと言えばわかりやすいでしょうか。
商品名をクリックすると指定の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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するQ&A
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
[Ctrl]+FをVBAで表現
-
5
Ctrl+F(検索)の窓を出したいの...
-
6
ページ内のみの検索窓(?)
-
7
powershellで、select-stringで...
-
8
CookpadのAPI
-
9
HTMLソースからURLだけを抜き出...
-
10
googleカスタム検索を使ったサ...
-
11
サイト内にページ内検索の設置方法
-
12
検索窓をクリックすると文字が...
-
13
WebBrowserでgoogle検索するには?
-
14
VBAのコマンドボタンの文字列の...
-
15
GoogleChromeでレイアウトが左...
-
16
CSSでborderの長さを指定、また...
-
17
テーブル内の文字列を改行させたい
-
18
改行ほどは行かないけど、若干...
-
19
textareaで入力した文字を改行...
-
20
<div>と<div>の間の10px程の...
おすすめ情報