• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTML文字列を取得→加工→書き出すスクリプト)

HTML文字列を取得→加工→書き出すスクリプト

このQ&Aのポイント
  • JavaScriptを使用して、HTML文字列を取得し、加工し、書き出すスクリプトを作成する方法を教えてください。
  • CGI(perl)がHTMLを書き出すが、ハイパーリンクに加え親フォルダへのリンクも併設したいです。JavaScriptを使用して実現できますか?
  • JavaScriptを使ってHTML文字列を取得し、ハイパーリンクに親フォルダへのリンクを加えるスクリプトを作成したいです。

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

このままじゃ実用性ないけど道楽で作ってみました。参考までに。 ページ内の全リンクに「<br>↑のファイルがある…」が足されます。一部のリンクだけに足すようにするにはなにか条件が必要です。 (あるIDを持つDIV配下のリンクだけにするとか、あるclassを持つアンカーだけにする等。) <html> <head> <title></title> <script type="text/javascript"> <!-- function hoge() { var AnchorList = document.getElementsByTagName('A'); if(! AnchorList) return; var AddObjList = new Array(); var i; for(i=0;i<AnchorList.length;i++) { var Href = AnchorList[i].getAttribute('href'); Href.match(/\/|\\/g); Href = RegExp.leftContext + RegExp.lastMatch; AddObjList.push([AnchorList[i].parentNode,Href]); } for(i=0;i<AddObjList.length;i++) { AddObjList[i][0].innerHTML = AddObjList[i][0].innerHTML+ '<br>↑のファイルがあるフォルダを開くなら<a href="'+AddObjList[i][1]+'">こちら</a>'; } } //--> </script> </head> <body onload="hoge()"> <p><a href="file:///C:\temp\hoge1.txt">file:///C:\temp\hoge1.txt</a></p> <p><a href="file:///C:\temp24\hoge1.txt">file:///C:\temp24\hoge1.txt</a></p> <p><a href="file:///C:\temp78\hoge15.txt">file:///C:\temp78\hoge15.txt</a></p> </body> </html>

litton101
質問者

お礼

steel_grayさん、再々のレスありがとうございます。 早速組み込んでみましたが、すばらしいです。 動作の方、イメージしたとおりで*完璧*でした。 今後の応用も効きそうだし、重宝させていただきます。 本当にありがとうございます。

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

CGIスクリプトで吐き出したHTMLを加工したいのならば、 Javascriptを組み込むにしても、HTMLを吐き出す部分への改造は少なからず必要なわけですからCGIスクリプトの方を改造したほうがてっとり早いと思います。 CGI本体は基本的に変更できないけど、(HTMLの)この部分なら変更できるって制約などがあるなら、あらかじめ提示してもらわないとjavascriptでの実現方法を書いても無駄になりそうだし。

litton101
質問者

お礼

steel_grayさん、レスありがとうございます。 まったくアドバイスのとおりです。CGIもJavascriptもほとんど理解しておらず、恥ずかしい質問失礼しました。

関連するQ&A