2010-11-20 11 views
0

Ich benutze jQuery AJAX auf meiner Anwendung und die neueste Version von Opera zeigt keine AJAX was auch immer. Funktioniert in allen anderen Browsern.Ajax funktioniert nicht auf dem Opera-Browser

In HEAD:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 

Ich habe um diesen Kopf wurde Einwickeln und kann mit einer Lösung nicht kommen. Ich bekomme keine Seitenfehler. Ist jemand intelligenter als ich, der mich zu einer Lösung führen kann? Hier

ist ein Beispielcode:

<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

Vielleicht Post einige Code? .. – cambraca

+3

jQuery ** funktioniert ** in Opera, muss es spezifisch für Ihren Code sein. Veröffentlichen Sie Ihre Ajax-Anrufe, damit wir sie testen können. – Marko

+0

Nun, es ist eine Facebook-Anwendung. Was noch merkwürdiger ist, ist, dass nicht einmal die Facebook Ajax Form laden. Das bedeutet, dass nichts besonderes falsch mit dem Ajax ist, der sich selbst nennt. Das einzige, was mir einfällt, ist, dass es etwas auf der Seite selbst gibt, das auseinandergerissen ist, aber ich bekomme keine Fehler! – Petrus

Antwort

0

Opera ist strenger mit Cross-Domain-JavaScript-Kommunikation. Eine Umgehung dafür besteht darin, einen lokalen Proxy der js-Datei zu verwenden.

<script src="http://connect.facebook.net/us_US/all.js"></script> 

Setzen Sie diese Datei in einem öffentlich zugänglichen Ordner und fügen Sie es dem channelUrl Konfiguration:

FB.init({ appId: myFBAppId, status: true, cookie: true, xfbml: true, channelUrl: "http://xxx.net/channel.html" }); 
+0

Sie sollten Code mit vier Leerzeichen einrücken. – SLaks

0

Hat diese Arbeit in

eine Kanaldatei channel.html mit diesem Inhalt aufgerufen erstellen die neu veröffentlichte Betaversion von Opera 11? Wir haben mindestens einen Fix, der Facebook Connect dort betrifft (es ist jedoch in browser.js, also funktioniert es nur, wenn http://www.opera.com/docs/browserjs/ zeigt, dass browser.js aktiv und kürzlich aktualisiert ist).