質問
JavaScriptでFirefox使用者の閲覧しているページをブックマークするにはどうすればよいのでしょうか?
- 投稿日時:2006/07/01 17:42
Internet Explorerの場合
var url = "http://oshiete1.goo.ne.jp/"
var name = "教えて!goo"
function bookmark() {
window.external.addFavorite( url, name )
}
上記のように書けばお気に入りに追加することができますが
Firefoxの場合はどのようにすればよいのでしょうか?
Alexaholicなどのページで使用されているのですが
ソースを閲覧してもやり方がよくわかりませんでした。
ご存知の方がおられましたらご回答をよろしくお願いします。
回答 (3件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.3
- 回答日時:2006/07/02 15:19
利用可能なお気に入りボタンのみ表示させるスクリプトを書いてみました。
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>
この回答へのお礼
せっかく独自拡張があるのにもかかわらず表示はサイドバーというのは
使い勝手が悪いですね。今後改善されればよいのですが。
ご回答いただきどうもありがとうございました。
No.2ベストアンサー20pt
- 回答日時:2006/07/02 02:41
Netscape6.0以上、FirefoxやMozillaでは全バージョン(?)
window.sidebar.addPanel(name, url, "");
ついでに、、、
Opera用(JavaScriptは使いません)
<a href="url" rel="sidebar" title="name">保存</a>
Safariはわかりません。
この回答へのお礼
おかげさまで問題を解決することができました。
ご回答いただきどうもありがとうございました。
No.1
- 回答日時:2006/07/01 22:36
不可能なはずです。window.external.addFavorite のスクリプトもこの機能そのものも IE の独自拡張です。
従って Firefox にそのような機能はありません。
むしろボタンを IE だけで表示できるようにしたほうがましではないかと思います。
<!--[if IE]>
<input type="button" onclick="bookmark()" value="お気に入りに追加">
<![endif]-->
この回答へのお礼
ご回答いただきどうもありがとうございました。
この回答への補足
Alexaholicなどのサイトで実際に使用されているので不可能ではありません。
関連するQ&A
注目の記事
ビジネスパーソンにぴったり!趣味で始めるJavascript
皆さん、ビジネスライフはエンジョイしていますか?バリバリ働いているビジネスパーソンは忙しくてなかなか趣味に時間を割けないかもしれません。しかし、そんな方でも手軽に少ない時間でできる趣味、それが...
このカテゴリで人気のQ&Aランキング
- 4インラインフレームから親ウィンド...
- 5onchangeイベントを強制的に発生させる
- 6プルダウンメニューのvalue値取得に...
- 7ボタンを動的にdisabledさせたいの...
- 8Null またはオブジェクトではありま...
- 9ブラウザの×ボタン(閉じるボタン)...
- 10return trueとreturn falseの用途・...
- 11ブラウザのウィンドウサイズに合わ...
- 12複数のsubmitボタンで押されたボタ...
- 13一定時間処理待ちするコード
- 14「…は宣言されていません。」エラー...
- 15onClickがinput type="image"だとで...
- 16onClickに複数の関数を挿入する方法
- 17ブラウザからエクセルを開く方法
- 18【FORM】 リンク文字で submit したい
- 19var $i = hoge; $の意味について
- 20getElementByIdの戻り値がnullにな...