- ベストアンサー
JavaScriptでFirefox使用者がページをブックマークする方法
- JavaScriptを使ってFirefoxで閲覧中のページをブックマークする方法について教えてください。
- Internet Explorerではwindow.external.addFavorite()を使用しますが、Firefoxではどのようにすれば良いのでしょうか?
- Alexaholicなどのページではソースを閲覧してもやり方がわかりません。ご存知の方がいらっしゃれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Netscape6.0以上、FirefoxやMozillaでは全バージョン(?) window.sidebar.addPanel(name, url, ""); ついでに、、、 Opera用(JavaScriptは使いません) <a href="url" rel="sidebar" title="name">保存</a> Safariはわかりません。
その他の回答 (2)
利用可能なお気に入りボタンのみ表示させるスクリプトを書いてみました。 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>
お礼
せっかく独自拡張があるのにもかかわらず表示はサイドバーというのは 使い勝手が悪いですね。今後改善されればよいのですが。 ご回答いただきどうもありがとうございました。
不可能なはずです。window.external.addFavorite のスクリプトもこの機能そのものも IE の独自拡張です。 従って Firefox にそのような機能はありません。 むしろボタンを IE だけで表示できるようにしたほうがましではないかと思います。 <!--[if IE]> <input type="button" onclick="bookmark()" value="お気に入りに追加"> <![endif]-->
お礼
ご回答いただきどうもありがとうございました。
補足
Alexaholicなどのサイトで実際に使用されているので不可能ではありません。
お礼
おかげさまで問題を解決することができました。 ご回答いただきどうもありがとうございました。