問題タブ [popup-blocker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6687 参照

facebook - Facebook アプリケーション、ユーザーのウォールに公開するダイアログ、Javascript API を使用、ブラウザーでブロックされたポップアップ

JS-API を使用して、アプリケーションによって生成されたステータス メッセージを公開する許可を求めるダイアログを生成しています。以下は、私が話していることのスクリーンショットです。

ブラウザによってブロックされる THE POP-UP

コードは次のとおりです。

ドキュメントに記載されているサンプル JS コードを使用していますが、ブラウザの設定でポップアップがブロックされていなければ問題なく動作します。しかし、ステータス メッセージが表示されなければ、アプリの有用性はありません。

助けてください; 私は最後の段階で立ち往生しています。

0 投票する
1 に答える
1540 参照

.net - ASP.NET アプリで IE7 ファイル ダウンロード ポップアップ ブロッカーが表示されないようにする方法

ユーザーがダウンロード ボタンをクリックしてドキュメント (.rtf) をダウンロードできるようにするアプリケーションが .NET にあり、保存/開くダイアログが開きます。IE6、および 8 で動作します。ただし、IE7 では、ボタンをクリックすると Web ページの上部にポップアップ ブロッカーが表示され、ユーザーはブロッカーをクリックし、ファイルのダウンロード メニューをクリックしてファイルをダウンロードする必要があります。ブロッカーとその中のダウンロード メニューをクリックすると、ブロッカーは再び表示されません。ただし、IE7 ウィンドウを閉じてダウンロード プロセスを再度開始すると、ブロッカーが繰り返されます。

可能であれば、IE で設定を行うのではなく、プログラミング側の ASP.NET アプリに IE7 ファイル ダウンロード ポップアップ ブロッカーが表示されないようにする方法。

HTTPヘッダー、またはコンテンツタイプに関係しているようです? 理想的な解決策は、ブロッカーが他のブラウザーのように IE7 に表示されないことです。

ローカルホストでも発生します。興味深いことに、HTML archor リンクをクリックして他のファイルをダウンロードしても、ブロッカーは表示されません。

ブロッカーのメッセージは次のとおりです。

セキュリティを保護するために、Internet Explorer は、このサイトからコンピュータへのファイルのダウンロードをブロックしました。オプションについては、ここをクリックしてください。ダウンロードファイル ...

調査の結果、ファイル ダウンロードの URL 要求を送信する前に、(ファイルのダウンロード前に変更を保存するために) put 操作がサーバーに送信され、IE7 セキュリティ ブロッカーがトリガーされることがわかりました。できれば回避策と理由を教えていただきたいです。

0 投票する
1 に答える
2679 参照

javascript - Chromeポップアップ「ブロッカー」が非表示のページとプラグインをロードします-これを回避する方法はありますか?

Flash ゲームを含むウィンドウを起動し、Chrome のポップアップ ブロッカーがそれを抑制すると、ユーザーにはゲームの音楽が聞こえますが、何も表示されません。これは、Chrome がウィンドウをブロックしないためです。それはそれを隠すだけです。

Chrome はページを読み込んでファビコンとページ タイトルを取得し、それをポップアップ ブロッカー ダイアログ (アドレス バーのアイコンをクリックすると表示される) に表示できるようにします。しかし、彼らは窓を閉めません。プラグインが実行され、スクリプトがオープナーにコールバックできます - 通常のウィンドウのようですが、見えません。(さて、マルウェア開発者の皆さん、よだれを垂らすのはやめてください。)

Chrome は <head> タグのコンテンツを解析して、実際にページをロードしなくても <title> および favicon <link/> タグを取得できます。アイコン/タイトルを取得した後、非表示のウィンドウを閉じることができます。アイコン/タイトルの代わりに URL を表示することもできます。代わりに、バグは2008年以来悪化し続けています...

http://code.google.com/p/chromium/issues/detail?id=3477

http://code.google.com/p/chromium/issues/detail?id=38458

とにかく、問題は次のとおりです。これがいつ発生したかを検出できますか? window.chrome JavaScript オブジェクトには、ウィンドウがこの非表示の状態にあることを示す何かがあるので、ウィンドウを閉じるか、フラッシュを削除できますか?

__

Prusseの答えに基づいて、これが私が最終的に得たものです...

だから私は次のようなことができます...

0 投票する
1 に答える
5728 参照

javascript - window.open() と target="_blank" が IE で連携しない

つまり、target="_blank" を含むリンクがあり、このリンクをクリックして window.open() を作成するハンドラがある場合、JS で呼び出されたポップ ウィンドウが表示されますが、リンクは開かれません。 IE の新しいタブ (9 バージョンは確かにテスト済み) では、IE ポップアップ ブロッカーによってブロックされます。
他のすべてのブラウザでは、新しいタブのリンクとポップ ウィンドウの両方が開きます。回避策はありますか?

0 投票する
2 に答える
476 参照

asp.net - クリックして*時々*新しいウィンドウを開くだけにしたい場合、同期コールバックを行わないようにすることはできますか?

このシナリオでは:

  • ユーザーがテキストボックスに情報を入力します
  • ユーザーがボタンをクリックする
  • 入力された情報のサーバー側処理が行われます
  • そのサーバー側の処理の結果に応じて新しいウィンドウが開く、現在のページにメッセージが表示されます(ポップアップは表示されません)。

async: falsejQueryajax呼び出しで使用する以外のアプローチを思い付くことができません。これは強くお勧めしません

このオプションをfalseに設定すると(したがって、呼び出しが非同期でなくなる)、ブラウザーが応答しなくなる可能性があるため、強くお勧めしません。

私はもう試した:

  • 呼び出しを非同期にし、コールバックハンドラーで、サーバーの発言に応じて、新しいウィンドウを開くことがあります-これはポップアップブロッカーによってブロックされます
  • 別のアイデアは、その不快さのために私も気にしませんでしたが、常にウィンドウを開くことです。サーバーを呼び出し、時にはそれ自体を閉じるのはこの新しいウィンドウです(途中で親のテキストを更新します)

私が決めたのは、上記で説明したことです。クリックハンドラーで同期サーバー呼び出しを実行し、サーバーがそうするように指示した場合は、新しいウィンドウを開きます。ウィンドウの開きはクリックハンドラーで行われるため、ポップアップブロッカーはこれに満足しています。だが...


良い解決策を提供していない同様の(ただし、常に新しいウィンドウを開きたいとは限らないため、重複しない)質問:

0 投票する
7 に答える
23006 参照

google-chrome - Capybara/Rspecテストで問題を引き起こすGoogleChromeのポップアップブロック

Capybara / RSpecを使用していくつかの自動テストを作成しています。この少しのルビーを使用して、ドライバーを選択/構成します。

クリックしたボタンがポップアップウィンドウを開いているかどうか、およびウィンドウに必要なコンテンツが表示されているかどうかをテストしています。問題は、テストがウィンドウを開くと、Google Chromeポップアップブロッカーがウィンドウをブロックし、テストが失敗することです。オプションメニューからブロッカーを無効にしても機能しません。また、これらをサーバーで実行すると、同じ問題が発生するのではないかと心配しています。

テストのポップアップブロックを自動的に無効にする方法はありますか?

0 投票する
0 に答える
700 参照

javascript - ポップアップブロッキングの問題(これは発生しないはずですか?)

最初に明確にするために、私ユーザーイベントに応答してポップアップを開こうとしています。

Facebookでeコマーストランザクションを含むアプリケーションを開発しています。EVSSL証明書に関連する理由により、新しい完全に安全なウィンドウで請求端末を開く必要があります。そのため、プロセスは次のようになります。

  1. ユーザーは支払い方法として「新しいカード」を選択し、受取人の配送先住所を入力します
  2. ユーザーは「PlaceOrder」をクリックします。これはAJAX呼び出しを使用してアドレスを検証し、有効な場合はそれをデータベースと同期します。
  3. アドレスが有効で(AJAX成功:function())、ユーザーが「新しいカード」を選択した場合、安全な課金端末はwindow.open呼び出しを使用して開くことになっています。

私が理解しているように、Chrome、Firefox、Safariを含むほとんどの最新のブラウザーは、ソースイベントがユーザーによって開始されたかどうか(この場合はクリックイベント)を判断するためにチェーンをトラバースすることになっていますが、それにもかかわらず私はこのポップアップがブロックされるのを防ぐことはできないようで、私のユーザーは何が起こっているのかを理解するのに非常に苦労しています。

残念ながら、Chromeはポップアップがブロックされたときにそれをそれほど目立たせないので、ほとんどのユーザーはこれに気付かず、アプリが単に「壊れている」と想定します。

何か案は?発売から1週間で必死になっています...

[編集]参照用のコードは次のとおりです。

そして、newGroupOrderActions.payWithCard()..。

0 投票する
10 に答える
177547 参照

jquery - JQuery event.preventDefault() が設定されている場合、window.open でポップアップ ブロッカーをバイパスします。

ハイパーリンクのクリック イベントで条件付きで JQuery ダイアログを表示したい。

条件1でJQueryダイアログを開くなどの要件があり、条件1が満たされない場合は、クリックイベントが問題になっている「href」タグで参照されているページに移動します。

リンクのクリックイベントで関数を呼び出すことができます。この関数は、別の URL (Spring コントローラーを実行して応答を返す) を実行することによって、上記の条件をチェックするようになりました。

window.open のみがポップアップ ブロッカーによってブロックされているため、すべてが完璧に機能します。

コードから削除するe.preventDefault();と、ポップアップブロッカーはページをブロックしませんが、条件1の場合、ダイアログを開き、「href」ページを開きます。

1つを解決すると、別の問題が発生します。両方の条件を同時に正当化することはできません。

この問題を解決するのを手伝ってくれませんか?

これが解決したら、別の問題を解決する必要があります。つまり、ダイアログの OK イベントでのナビゲーションです:)

0 投票する
1 に答える
424 参照

javascript - ポップアップ ブロッカーの回避

私は自分のサイトでプライベート チャットにポップアップを使用しています。なんらかの理由でダイアログを使用できません。ポップアップ ブロッカーがポップアップをブロックしないようにする方法はありますか?

このコードは便利だと思いますが、使い方がわかりません。