javascriptを使って、現在表示されているホームページのアドレスから最後のファイル名のところを取得して、テキスト文字のリンクの色などをスタイルシートで変更したいと思っています。

手作業ですべて書き換えていってもいいのですが、今後の追加や変更を考えると、プログラムを入れておいたほうがよいと思うからです。よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:inosisibeyan No.1

回答回数211ベストアンサー獲得回数0

ポイント10pt

http://www.w3.org/DOM/

W3C Document Object Model

DOM documentを使えば、URL名の取得が出来ます。そこから、新しくhtmlファイルを作成するようにすれば、やりたい事が出来ると思います。

<code>

<!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN”>

<html><head>

<meta http-equiv=”Content-Script-Type” content=”text/javascript”>

<meta http-equiv=”Content-Style-Type” content=”text/css”>

<title></title>

<style type=”text/css”>

<!--

body { background-color: #ffffff; }

-->

</style>

</head>

<body>

*自ページのURLを取得する

<p>

<script type=”text/javascript”>

<!--

document.write(”URL:”,location.href);

//-->

</script>

</p>

</body></html>

</code>

http://www.hatena.ne.jp/1137197874#a1

人力検索はてな - javascriptを使って、現在表示されているホームページのアドレスから最後のファイル名のところを取得して、テキスト文字のリンクの色などをスタイルシートで変更したいと思..

そして、リンクの作り方は以下のようにします。

<code>

<!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN”>

<html><head>

<meta http-equiv=”Content-Script-Type” content=”text/javascript”>

<meta http-equiv=”Content-Style-Type” content=”text/css”>

<title></title>

<style type=”text/css”>

<!--

body { background-color: #ffffff; }

-->

</style>

</head>

<body>

*リンクを作る

<p>

<script type=”text/javascript”>

<!--

document.write(”リンクを作る”.link(”file:///localhost”));

//-->

</script>

</p>

</body></html>

</code>

この二つを組み合わせると、好きなjavascriptが作れます。

id:ysgear

上記のとおりにやってみたのですが、

残念ながら知識がないからできないのか、

*自ページのURLを取得する

とか、

*リンクを作る

とかだけ表示されるだけで、うまくいきませんでした。どのようにすればいいのでしょうか?

もう少し詳しくか、丁寧にわかりやすく教えていただけないでしょうか?

2006/01/18 13:55:39
id:fuk00346jp No.2

回答回数1141ベストアンサー獲得回数54

ポイント10pt

javascriptを使わなくても出来ます。


外部スタイルシート指定してやれば無問題でしょう。

ただ、あまりリンク色は弄らない方が良いです。(既読が分かりにくくなりユーザーが迷子・ループに入って逃げますので。)


例)

<link rel=”stylesheet” href=”/css/detail.css” type=”text/css”>

を各ファイルに記述しておく事によってdetail.cssを弄れば一気に書き換えれます。


ココの場合class指定で2種類のリンク色を使い分けてます。

id:ysgear

質問の仕方がわるいのでしょうか、

理解力がないのもあり、

このご回答が私の質問に答えてくださっているのかどうかよくわかりません。

私が実現したいのは、

「現在表示されているホームページのアドレスから最後のファイル名のところを取得して、」

ホームページのメニューにある、テキストリンクのうち、現在のページに関わる部分のみのリンク色を、変更させたいんです。

ナビゲーション的、ユーザビリティ的に、現在のリンクがはっきりすると、わかりやすいからです。

2006/01/18 14:04:49
id:masanobuyo No.3

回答回数4617ベストアンサー獲得回数78

ポイント20pt

全て javascriptならこんな感じ

文字制限の為、解説なしです


-- a.html

<html>

<head>

<script type=”text/javascript” src=”test.js”></script>

</head>

<body onLoad=”onLoad()”>

<A href=”http://www.yahoo.co.jp”>

リンク

</A>

</body>

</html>


-- test.js

var config = new Array(

new Array(”a.html”, ”#ff0000”, ”#000000”),

new Array(”b.html”, ”#00ff00”, ”#000000”)

);


function onLoad() {

var url = document.location.href;

var sa = url.split(”/”);

var name = sa[sa.length-1];


for (var i=0; i<config.length; i++) {

var data = config[i];


if (name == data[0]) {

document.body.link = data[2];

document.body.vLink = data[1];

document.body.aLink = data[2];

}

}

}

id:ysgear

これも上記のとおりにやってみましたが、

うまく動作しません。

ご指摘いただいた中では、一番このご回答が

私の質問に答えてくださって、実現できそうに思うのですが。。。

もう少し具体的に、わかりやすく、このとおりにやりなさい、という感じで、教えていただけないでしょうか。

javascriptのパーミッション設定は必要でしょうか。

その他、動作するために何か留意点があるのでしょうか。

よろしくお願いいたします。

2006/01/23 15:31:22
id:junsub777 No.4

回答回数2ベストアンサー獲得回数0

ポイント50pt

http://d.hatena.ne.jp/junsub777/20060117/1137584495

junsub777の日記 - javascriptを使って、現在表示されている、、、

人力検索の仕様上、ダブルクォートが全角になってしまうので、日記に書いてみました。


id:masanobuyoさんのは、少しだけ違う気がしたので、流用させていただいた上で、少々変更しています。


メニュー部が別フレームだったりすると、また、ちょっと対応が必要です。

id:ysgear

ありがとうございます!!

このとおりにやってみて、できました!!

みなさんにとっては、おわかりのことなのかもしれませんが、

念願の!という感じです。

ありがとうございました。

2006/01/23 15:51:38

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません