Ajax在Opera浏览器上不起作用

时间:2010-11-20 15:23:16

标签: jquery ajax facebook opera

我在我的应用程序上使用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>

2 个答案:

答案 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处于活动状态且最近更新时才会起作用。)