• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptでFirefox使用者の閲覧しているページをブックマークするにはどうすればよいのでしょうか?)

JavaScriptでFirefox使用者がページをブックマークする方法

このQ&Aのポイント
  • JavaScriptを使ってFirefoxで閲覧中のページをブックマークする方法について教えてください。
  • Internet Explorerではwindow.external.addFavorite()を使用しますが、Firefoxではどのようにすれば良いのでしょうか?
  • Alexaholicなどのページではソースを閲覧してもやり方がわかりません。ご存知の方がいらっしゃれば教えてください。

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

  • ベストアンサー
noname#19175
noname#19175
回答No.2

Netscape6.0以上、FirefoxやMozillaでは全バージョン(?) window.sidebar.addPanel(name, url, ""); ついでに、、、 Opera用(JavaScriptは使いません) <a href="url" rel="sidebar" title="name">保存</a> Safariはわかりません。

nana_watuki
質問者

お礼

おかげさまで問題を解決することができました。 ご回答いただきどうもありがとうございました。

その他の回答 (2)

noname#19206
noname#19206
回答No.3

利用可能なお気に入りボタンのみ表示させるスクリプトを書いてみました。 JavaScript が ON である場合のみ表示されますが、 自分の環境で利用できないものは何も表示されないスクリプトです。 コレでお気に入り登録部分がシンプルにまとまると思います。 細部は適宜書き換えてくださいますようお願い致します。 尚、注意点がふたつ。Gecko の window.sidebar.addPanel はサイドバー用に作成された Web ページをサイドバーへ追加するための独自拡張です。 Mozilla のサイドバーと互換性を持ったサイドバー機能つきブラウザでは、 すべてブックマークに追加されずサイドバーに追加されてしまいます。 ブックマークへ追加できるのは Firefox のみであるという検証結果が出ました。 (Firefox 専用お気に入り追加ボタンとして利用したほうが便利かも知れません。) Opera の独自拡張である rel="sidebar" も同様に本来パネルとして作成された Web ページをパネル表示部に追加するため利用されるものです。 こちらの場合、ブックマークへ登録させることは可能ですが、コレを利用した場合ページがパネルにも追加されてしまいますのでご注意ください。 (困るのであれば使わないのも正しい判断、気にせず使うのも正しい判断) <script type="text/javascript"> <!-- if(navigator.userAgent.indexOf("MSIE") > -1){ //Internet Explorer document.write('<!-'+'-[if IE]>'); document.write('Internet Explorer 専用お気に入り追加ボタン。<br>'); document.write('<input type="button" value="お気に入りに追加"'); document.write(' onclick="window.external.AddFavorite(\'アドレス\',\'サイト名\')">'); document.write('<![endif]-'+'->'); } else if(navigator.userAgent.indexOf("Firefox") > -1){ //Firefox document.write('Firefox 専用ブックマーク追加ボタン<br>'); document.write('<input type="button" value="ブックマークに追加"'); document.write(' onclick="window.sidebar.addPanel(\'サイト名\',\'アドレス\',\'\');">'); } else if(navigator.userAgent.indexOf("Opera") > -1){ //Opera document.write('Opera ブックマーク追加用'); document.write('<a href="アドレス" rel="sidebar" title="サイト名">ブックマークに追加</a>'); } else { //該当なし void(0); //何もしない } //--> </script>

nana_watuki
質問者

お礼

せっかく独自拡張があるのにもかかわらず表示はサイドバーというのは 使い勝手が悪いですね。今後改善されればよいのですが。 ご回答いただきどうもありがとうございました。

noname#19206
noname#19206
回答No.1

不可能なはずです。window.external.addFavorite のスクリプトもこの機能そのものも IE の独自拡張です。 従って Firefox にそのような機能はありません。 むしろボタンを IE だけで表示できるようにしたほうがましではないかと思います。 <!--[if IE]> <input type="button" onclick="bookmark()" value="お気に入りに追加"> <![endif]-->

nana_watuki
質問者

お礼

ご回答いただきどうもありがとうございました。

nana_watuki
質問者

補足

Alexaholicなどのサイトで実際に使用されているので不可能ではありません。

関連するQ&A