- ベストアンサー
Safariでポップアップが表示できるようにするには?
お世話になります。 HP初心者です、素人ゆえおかしな質問をしてしまうかもしれませんが許してください。 あるページに飛んだときポップアップで子ウインドウを表示するように Java Scriptを設定したのですがInternet Explolerではちゃんと表示せれますがSafariでは表示しませんでした。 これはスクリプトを書くときに何か解決策となるような方法があるのでしょうか?それともSafariで表示させるのは諦めるしかないのでしょうか? どなたかよろしくお願いします。
- toonie
- お礼率26% (55/210)
- JavaScript
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Safariは持ってないので分かりませんが、 nipoxさんの言うとおり、 1. ソースが無いのでなんともいえないのと 2. Safariのセキュリティー設定にて禁止している 3. セキュリティーソフトにてポップアップを禁止している。 の三つが考えられます。まず、あなたのPCのIEではできたとして、他の人のPCのIEではできない可能性があるというのも考えられますしね。 以下のスクリプトを用意しました。 ページ内の全ての<A>タグに作用されるスクリプトです。<HEAD>~</head>内に入れておくこと。 <script type="text/javascript"> function extlnkstrict() { if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName("a"); for (var i=0; i < anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute("href") && anchor.getAttribute("target")) anchor.target = anchor[i].target; } } window.onload = extlnkstrict; </script> このスクリプトがするのは通常 <a href="" target="">とあるところ、target="_blank"と合った場合は新しいウインドウあ開き、どっか違う名前target="存在するウインドウ名"だったらそのウインドウに読み込まれるところを模倣するものです。 っとここで突っ込まないで下さい。回りくどくない?といわれるかもしれませんが本当のこのスクリプトは <script type="text/javascript"> function extlnkstrict() { if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName("a"); for (var i=0; i < anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute("href") && anchor.getAttribute("rel")) anchor.target = anchor[i].rel; } } window.onload = extlnkstrict; </script> となっていて、上記との違いは6,7行目の違い、target -> relに変わっただけです。 このスクリプトはもともとHTML4.0StrictとXHTML1.0Strict用に作られたものでHTML4.0StrictとXHTML1.0Strictでは<a>タグにtarget属性が使えないので変わりにtarget="_blank"とあるところをrel="_blank"と変えたりするときにtargetと同じ動作をするために作られたものです。 ま、試してはいませんが、SafariならDocument Object Model 1.0 (DOM1)という仕様?に対応してるんじゃないかと思うので使えるかも知れないかもって事で試してください。<head>~</head>内に入れるだけなので。 ちなみに、元の参考ページは英語です。
その他の回答 (1)
- nipox
- ベストアンサー率32% (10/31)
ソースがないのでなんともいえませんが、 セキュリティの設定等で ポップアップ禁止になっていませんか?
関連するQ&A
- ポップアップ画面についてお尋ねします。
ポップアップ画面についてお尋ねします。 javaスクリプトで function openWinT001(){window.open("Terms.htm#アート","","width=700,height=200,scrollbars=yes,resizable=1");} と書き、他のページに下記のようなラベルを作り、 <A name="アート"></A> <A href="javascript:openWinT001()">アート</A> で他のページのアートにポップアップの小窓で飛べるようにしました。 IEですとうまくいくのですが、safariやoperaではピンポイントで その部分に飛ぶことができません。 (そのページの最初の部分が指定した大きさでポップアップします。) どうしたらいいのでしょうか。 よろしくお願いいたします。
- ベストアンサー
- その他(インターネット・Webサービス)
- ポップアップを作りたい!
HP作成初心者です。 よく、HPを開いた時に小さな窓になったポップアップが表示されるサイトがありますが、 それを自分のHPにも取り入れたいと思っています。 TOPページを開いた時だけで構わないので、どうやって あのポップアップを作るのか教えて下さい! 使い方は、その時に一番見て欲しいトピを小窓にして表示させようと思っています。 使用しているソフトは、HPビルダーVer.9です 本当に初心者なので、できればHTMLタグなんかを単にコピペするだけの回答がいいかも(笑) 厚かましくてすみませんが、皆さんの知恵を拝借したいと思っています!
- 締切済み
- その他([技術者向] コンピューター)
- ポップアップが表示されない
ホームぺじを開いた再にポップアップが 表示されなくなってしまいました。 Symantac Internet Securityを入れてからの現象です。 ポップアップが表示されるようにしたいのですが 広告ブロック機能などをOFFにしても、ポップアップは 表示されません。 どのようにして、ポップアップを表示できる状態になるでしょうか。
- 締切済み
- その他(インターネット接続・通信)
- フレームをこえるポップアップ
上下にフレームで分けたページを作っています。 上のフレームのボタンにマウスオンするとリンクがポップアップで下に表示されるスクリプトを手に入れたのですが、 そのポップアップがフレームのところできられてしまって表示されません。 ポップアップをフレームを超えて表示させるようにできますか?
- ベストアンサー
- JavaScript
- ポップアップ表示ができません。
ポップアップ表示ができません。 サイトでほかのリンクに新しいウィンドウで開こうとしても、開きません。 ポップアップは許可にしてます。 下に、「このページのポップアップがブロックされました。ポップアップの表示を許可するには Ctrlキーを押しながらクリックします」とでますが、表示どおりにしても出てきません。 大変困っています。説明不足なら補足いたします。 どうかよろしくお願いいたします。
- ベストアンサー
- Windows 7
- ポップアップを表示させるタイミングについて
javascript初心者です。 自分のHPを閉じたり、ブラウザの戻るボタンをクリックしたときにポップアップを表示させたいのですが、 どうすればよいのでしょうか?
- ベストアンサー
- JavaScript
- ポップアップを1日1回だけ表示するについて
TOPページが開くと自動的にポップアップ(別URL)を出しています。 1日1回のみポップアップを出してインターネットを閉じてもまた開いてもポップアップは出さない。 クッキーでなどの回答が来ると思いますが、初心者なのでソースを全て書いていただけるとありがたいです。 以上、宜しくお願い致します。
- ベストアンサー
- JavaScript
- ポップアップを消すと、他のウインドウまで(全部)消えてしまいます
ポップアップで表示されたページを右上の×を押して消すと、そのページだけでなくそれまで見ていたすべてのウインドウが消えてしまい(勝手に閉じてしまう)困っています どなたか解決策をご存じないでしょうか? 説明が分かりにくくてすみません。伝わっているといいのですが。。。 どなたか助けていただけると嬉しいです 宜しくお願いいたします
- ベストアンサー
- Windows XP
- ポップアップをクリックで終了させる方法
Javaの知識はありませんが、あるサイトから画像にマウスオンするとその下にポップアップでリンクが表示されるスクリプトをいただきました。 それはマウスが外れたらポップアップが消えるようになっているのですが、フレーム内などでマウスが外れた場合には認識されず、ポップアップがずっとでている状態になってしまいます。 そこで、クリックしたらポップアップが消えるようにしたいのですが、そのようにできる方法はありますか?
- ベストアンサー
- JavaScript