【お題】引っかけ問題(締め切り10月27日(日)23時)

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などサーバーサイドなしで方法はありませんでしょうか?
よろしくお願いします。

A 回答 (5件)

<noscript>の操作ですから、<script>は使えないですよね。


(使っても<noscript>は表示されないから無意味、<noscript>が表示される環境では<script>は使えない)

サーバーサイドのプログラムなしでは不可能です。
HTMLファイルを手作業で更新して、FTPなどでアップロードするしかないと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/10 12:03

#2 です ・・・


<noscript>ですから Scriptで処理出来ないですね
… noscriptの意味を失念しておりました orz

#3氏のおっしゃるように サーバサイドで動的にコンテンツを提供するような仕組みを考えないと無理なようです
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/10 12:02

<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>
    • good
    • 0

実行環境の限定が出来るのでしょうか?



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"><.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'] が引数になります
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
この方法だとヘッダー内に書かなければいけないんですよね?

情報が少なすぎたので補足します。
今やろうとしていることが
簡易アクセスカウンターにnoscriptタグでリンクをつけたいんです。
ですので環境は第三者のものとなりますので
ヘッダー内に記述したりサーバーサイドは使えないんです。
body内でスクリプトを呼び出して

ソースレベルで
<script type="text/javascript" src="http://www.カウンター.js"></script>
<noscript><a href="aaa.html">カウンター(ここの文字列を外部urlなどから読み込んで任意で変えたい)</a></noscript>

と表示させたいのです。

お礼日時:2008/02/09 10:18

ファイルから読む方法はないと思います。


変更の頻度や量にも拠ると思いますがすべてのリンクを
表示することで代替できませんか。

<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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/09 10:06

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


おすすめ情報