【发布时间】:2011-08-14 21:08:54
【问题描述】:
无法弄清楚为什么除了 Safari 之外其他地方都可以使用? 我有这个 HTML:
<a href="javascript:;" class="tweet-btn" onclick="authenticateTwitter();">
<img src="img/sign-in-with-twitter.png" alt="">
</a>
还有这个 JS:
<script type="text/javascript">
var socialMediaServiceUrl =
// Staging
"http://gameconnect.svc";
var sessionFormat = "(S($))/";
var sessionId;
function format(s, value) {
return s.replace("$", value);
}
function authenticateTwitter() {
authenticate("Twitter");
}
function authenticateFaceBook() {
authenticate("FaceBook");
}
function authenticate(applicationName) {
$.ajax({
url: format(socialMediaServiceUrl, "") + "/Authenticate?appName=" + applicationName,
dataType: "jsonp",
success: function (response) {
sessionId = response.SessionId;
window.open(response.Url);
}
});
}
</script>
**编辑:Safari 的弹出框阻止了它,有什么解决方案可以阻止它?
【问题讨论】:
-
尝试用 $(document).ready(function() { //... }); 包围你的函数并在单击该链接时检查 firebug 控制台
-
哇,想通了。是 Safari 的弹出窗口阻止程序阻止了它。但是 Safari 没有给出任何警告,或者表明 Pop-Block 正在阻止某些事情。有什么好的解决方案吗??
标签: jquery safari cross-browser onclick