- 締切済み
自動リンクの作成について
htmlファイルでURLにアンカータグを付け忘れたり、多数のリンクさせていないURLで表示されている文字があるのですが、これを、ユーザーサイドによるjavascriptでhttp://から始まっている文字にHTML閲覧上で自動でそのアドレスにリンクが貼れるようなことができるのでしょうか? サンプル配布サイトや参考になりそうなサイトまたは、簡単なソースを教えていただけないでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
正規表現の所を修正 var urls=txt.match(/https?:\/\/[a-z0-9.\-+_&%;:\/=?#~]+/ig); URLとして()も使えるようですが、 実際にはカッコ書きでURLを書いたりすることの方が多く、 URLに含めるというのは少ないと言うより皆無じゃないか、と思うので、()はあえてはずしています。 ftpのパスワードの区切りに使う@もはずしています。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
そういうライブラリを使って、全部のページに<script>を入れておけば可能といえば可能です。 そういうライブラリを配布している所は、検索サイトで「javascript http リンク」をキーワードに2,3ページ見てみましたがなさそうでした。 詳しく探せば見つかるかも知れませんが、パスです。 IEのみ。 ページ内にURLっぽい記述があれば、<a href="略">略</a>に書き換えます。 既に<a href="">が入っていてもそのチェックはしていませんので、<a>が入れ子になります(動作不明)。 window.onload=function(){ var txt=document.body.innerText; var urls=txt.match(/https?:\/\/[a-z.\-_&;\/=?#~]+/g); for(var i=0,url;i<urls.length;i++){ url=urls[i]; var rng = document.body.createTextRange(); var txt='<a href="'+url+'">'+url+'</a>'; while( rng.findText(url) ){ rng.pasteHTML(txt); rng.moveStart('character',url.length); } } }; Opera、SafariはマウスでURLを選択して、 コンテクストメニューから「URLを開く」「ページを開く」「開く」などを選択すると、そのアドレスを開きます。 Fxはアドオンが必要です。 Fx、Op、Sfでもスクリプトでできるかも知れませんが、面倒臭そうなのでパスです。
- hetare560
- ベストアンサー率66% (28/42)
こんにちは。 ちょっと違いますが、ユーザーサイドから飛べるようにするにはFirefoxのアドオン「Text Link」を使えばできると思いますが Text Link入れていないブラウザでは出来ないと思います。 Text Link参考URL ttp://www.forest.impress.co.jp/article/2005/12/20/textlink.html
- VCAT
- ベストアンサー率20% (16/79)
できるわけないです。 できたら大変ですよね。