• ベストアンサー

noscript内のリンク変更

noscript内のリンクを外部テキストなどから読み込んで 変更する方法なないでしょうか? 例 <noscript><a href="aaa.html">リンク1</a></noscript> <a href="aaa.html">リンク1</a>の部分を外部テキストなどから読み込んで <noscript><a href="bbb.html">リンク2</a></noscript> といった感じに変更したいのです。 perlやphpなどサーバーサイドなしで方法はありませんでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

<noscript>の操作ですから、<script>は使えないですよね。 (使っても<noscript>は表示されないから無意味、<noscript>が表示される環境では<script>は使えない) サーバーサイドのプログラムなしでは不可能です。 HTMLファイルを手作業で更新して、FTPなどでアップロードするしかないと思います。

yosakun
質問者

お礼

サーバーサイドじゃないと やはりソースレベルでは無理ですよね。 ありがとうございました。

その他の回答 (4)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.5

#2 です ・・・ <noscript>ですから Scriptで処理出来ないですね … noscriptの意味を失念しておりました orz #3氏のおっしゃるように サーバサイドで動的にコンテンツを提供するような仕組みを考えないと無理なようです

yosakun
質問者

お礼

やはりそうですよね。 書き変えられればベストなんですけど しょうがないので諦めます。 ありがとうございました。

回答No.4

<applet>や<embed>の書き方を調べなおしてて簡単な方法があるのを思い出しました。 ブラウザはある程度限定されますが、未対応ブラウザ用の書き方もつけておけば何とかなるかと。 <noscript><object data="noscript.html"><a href="noscript.html">noscript</a></object></noscript> <noscript><iframe src="noscript.html"><a href="noscript.html">noscript</a></iframe></noscript> noscript.html <a href="bbb.html">リンク2</a>

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

実行環境の限定が出来るのでしょうか? JScriptでMSXML2.XMLHTTPオブジェクトを使ってファイルの取得が出来るようです var objXML; function myLoad() {   objXML = new ActiveXObject("MSXML2.XMLHTTP");   objXML.onreadystatechange = function () {     // objXML.redyState=4 読み込み終了     // objXML.status=200 正常終了     if ( objXML.redyState == 4 && objXML.status == 200 ) {       // ここで読み込んだファイル内容をHTMLに反映       document.getElementById("mySpan").innerHTML =       objXML.responseXML.selectSingleObject("//Link[@id='2']").xml;     }   };   objXML.Open( "GET", "ファイルへのURL", False );   objXML.Send(); } といった具合です noscriptのタグ内を <noscript><span id="mySpan">&nbsp;<.span></nospan> といった具合にします ファイルは XML形式にして <?xml version="1.0" ?>   <myDataSet>     <myTable>       <Link id='1'>         <a href="aaa.html">リンク1</a>       </Link>     </myTable>     <myTable>       <Link id='2'>         <a href="bbb.html">リンク2</a>       </Link>     </myTable> </myDataSet> といった具合に作成します selectSingleNodeの引数にどこを取得するかを与えます リンク2を取得したのであれば その親の『Link』タグのidが2の物を探すことになります リンク1を取得したのであれば その親の『Link』タグのidが1の物を探すことになります リンク2の場合 //Link[@id='2'] が引数になります

yosakun
質問者

お礼

回答ありがとうございます。 この方法だとヘッダー内に書かなければいけないんですよね? 情報が少なすぎたので補足します。 今やろうとしていることが 簡易アクセスカウンターにnoscriptタグでリンクをつけたいんです。 ですので環境は第三者のものとなりますので ヘッダー内に記述したりサーバーサイドは使えないんです。 body内でスクリプトを呼び出して ソースレベルで <script type="text/javascript" src="http://www.カウンター.js"></script> <noscript><a href="aaa.html">カウンター(ここの文字列を外部urlなどから読み込んで任意で変えたい)</a></noscript> と表示させたいのです。

  • auty
  • ベストアンサー率58% (284/486)
回答No.1

ファイルから読む方法はないと思います。 変更の頻度や量にも拠ると思いますがすべてのリンクを 表示することで代替できませんか。 <noscript> <ul> <li><a href="bbb1.html">リンク1</a></li> <li><a href="bbb2.html">リンク2</a></li> <li><a href="bbb3.html">リンク3</a></li> </ul> </noscript>

yosakun
質問者

お礼

すばやい回答ありがとうございます。 この方法で代替するのはちょっと無理なんです。

関連するQ&A