• ベストアンサー

お気に入りボタンについて

<input type="button" value="お気に入りに追加"onclick="window.external.AddFavorite(location.href,document.title);"> このスクリプトだけで表示しているページのタイトルでお気に入り追加ができると思うのですが、実際にUPしてみるとIEではできるのですが、OperaやFirefoxではボタンがへこんでしまい押すことができず機能しません。javascriptに詳しくないので上のを完全にコピペしただけなのですが、なにか他に<head>の中に宣言が必要なのでしょうか?

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

  • ベストアンサー
回答No.1

そのスクリプトは、windowsの、しかも Internet Explorerしか動きませんよ。 できれば、そういう「特定の環境の人」しか動作しないスクリプトを書いたサイトを構築しないようにしましょう。

seed_twice
質問者

補足

<input type="button" value="お気に入りに追加" onclick="window.external.AddFavorite('http://~~~~','タイトル');">この方法ではどうでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

ANo.1です。補足ありがとうございます。 ええと、Javascriptを覚える気はなくて、適当に探して見つかったのを貼って作るだけで満足する予定ですか? そうでないのならば、Javascriptのリファレンスくらいは、最低限目を通してみませんか。 本を買うのが一番良いですが、最近はネットでご丁寧に本の丸写しのように纏めてくれている人も大勢いるみたいですし、そういったところを活用するのも悪くありません(情報が正確かどうかは自己判断ということになりますが)。 ANo.2の方が、わざわざ探してくださっているようですが、なぜこうなるのか、たぶん理解できないでしょう。 でも、覚える気がないなら、別に理解しなくても探してきて貼るだけで良いと思います。都度探せば良いだけでしょうから。 で、何が言いたいかというと、リファレンス見れば分かりますが、「Window」オブジェクトには「external」「addFavorite」などというプロパティもメソッドも存在しません。つまり、Windows+Internet Explorerだけが理解できる命令をマイクロソフトが勝手に拡張しているのですが、「window.external.AddFavorite~~~」という記述はまさにそれに当たります。従ってWindows+Internet Explorerの場合は処理できる命令ですが、それ以外のOSとブラウザにとっては存在しない命令なので実行することができません。 もしどうしてもやりたいのならば、ANo.2の方が参考リンクを貼ってくださっているようにそれぞれの組み合わせ分全部作って、User-Agentを見てどのOS+ブラウザからアクセスがあったのかを判別し、それぞれの命令を書くことになります。 なので、補足にある「~~~はどうでしょうか?」という再度の質問は、最初の質問と全く同じ質問を、言葉を変えて聞き直しているだけ、ということになります。 そもそも、「お気に入り」などと言う名前でそれを呼んでいるのはWindowsだけで、他は「ブックマーク」などと言います。また、Windowsの特定環境でしか動作しないために、最近ではあまり「お気に入りに追加」ボタンを置いているサイトは見ませんね。もう古い、という感じでしょうか。

すると、全ての回答が全文表示されます。
noname#66720
noname#66720
回答No.2

javascriptにはくわしくないのですが、下記のサイトなんか参考になりませんか? http://www.abe-tatsuya.com/web_prog/javascript/add_bookmark.php

すると、全ての回答が全文表示されます。

関連するQ&A