3

私はFacebookSDKを使用していますが、セキュリティの問題によりポップアップを介して機能するようになりました。

だから私は隠されているFacebook[FacebookButton]を扱うボタンとポップアップブロッカー[PopupTester]をテストするためのボタンを持っています。

私のコードはこんな感じです

[PopupTester]をクリックしたときにポップアップが機能する場合は、ポップアップを閉じてこのボタンを非表示にし、[FacebookButton]を表示します。

また

[PopupTester]をクリックしたときにポップアップが失敗した場合は、ダイアログを表示してポップアップ設定の変更を促し、[FacebookButton]を非表示のままにして、このボタンの値を[TryAgain]に変更します。

function testPopupBlocker() {
  var windowName = 'userConsole'; 
  var popUp = window.open('http://www.whirlocal.com', windowName, 'width=200, height=200, left=24, top=24, scrollbars, resizable');
  if (popUp == null || typeof(popUp)=='undefined') {
    var weGood = "nope";
    alert('Please disable your pop-up blocker and click the link to test again.'); 
  } 
  else {
    var weGood = "yup";
    popUp.close();
  }

}

このボタンが常にポップアップを作成するという事実を除いて、これはうまく機能しますが、Facebookのボタンはまだブロックされています!

「window.open」以外にポップアップを作成する方法はありますか?ブロックされる可能性が高いものは?

編集:

これが私のボタンコードです

<input type="button" class="genButton testPopupButton" name="Test Popup Blocker" title="Test Popup Blocker" value="Test Popup Blocker" onclick="testPopupBlocker()" style="cursor:pointer;" />

<input type="button" class="genButton needsPopups facebookButton" name="AdvocateOnFacebook" title="Recommend <?php echo genesis_get_option('organization','child-settings');?> on Facebook" value="Recommend us on Facebook!" onclick="advocateToFriends()" style="cursor:pointer; display:none;" />
4

1 に答える 1

0

ポップアップを正当化する必要があります。任意のポップアップ コードではなく、ユーザーが開始する必要があります。そうしないと、ポップアップ ブロッカーによって停止されます。ポップアップのハンドルを取得したら、好きなように変更できます。

次の HTML コードを試してください。

<a href="#" onclick="javascript:window.open('http://myurl.com/blank_page.html','userConsole','width=800,height=600,directories=no,location=no,menubar=no,status=no,toolbar=no,scrollbars=auto,resizeable=yes');">
    <div class="some_div_class"><b>Click Me</b></div>
</a>

次に、testPopupBlocker() 関数を実行して、少しうまく機能するかどうかを確認します。

于 2012-06-21T20:06:13.563 に答える