我在我的应用程序上使用jQuery AJAX,最新版本的Opera没有显示任何AJAX。适用于所有其他浏览器。
在HEAD中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
我一直围绕着这个问题,无法提出解决方案。我没有得到任何页面错误。有没有比我聪明的人可以指导我找到解决方案?
以下是一个示例代码:
<fb:serverFbml width = "600px">
<script type="text/fbml">
<fb:fbml>
<fb:request-form
action="<?=$conf['dir']['app_url'];?>test.php"
method="POST"
target="_top"
invite="false"
type="NAME"
content="TEST <fb:req-choice url='<?=$conf['dir']['app_url'].'test.php?inviter='.$fbme['id']?>' label='TEST' />"
>
<fb:multi-friend-selector
showborder="false"
cols="4"
actiontext="TEST">
</fb:multi-friend-selector>
</fb:request-form>
</fb:fbml>
</script>
</fb:serverFbml>
答案 0 :(得分:0)
Opera对跨域javascript通信更加严格。解决方法是使用js文件的本地代理。
使用以下内容创建名为channel.html的频道文件:
<script src="http://connect.facebook.net/us_US/all.js"></script>
将此文件放入可公开访问的文件夹中,并将其添加到channelUrl配置中:
FB.init({ appId: myFBAppId, status: true, cookie: true, xfbml: true, channelUrl: "http://xxx.net/channel.html" });
答案 1 :(得分:0)
这是否适用于新发布的Opera 11测试版?我们至少有一个影响Facebook Connect的修复程序(但是在browser.js中,只有当http://www.opera.com/docs/browserjs/显示browser.js处于活动状态且最近更新时才会起作用。)