我正在使用 facebook SDK,由于安全问题,它现在可以通过弹出窗口工作。
所以我有一个处理隐藏的 facebook [FacebookButton] 的按钮,以及一个用于测试弹出窗口阻止程序 [PopupTester] 的按钮。
我的代码是这样的,
单击 [PopupTester] 时,如果弹出窗口有效:关闭它,隐藏此按钮,然后显示 [FacebookButton]。
或者
单击[PopupTester]时,如果弹出失败,显示对话框以敦促更改弹出设置,保持[FacebookButton]隐藏,将此按钮值更改为[再试一次]。
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;" />