2010-11-20 85 views
0

我在我的應用程序上使用jQuery AJAX,Opera的最新版本沒有顯示任何AJAX。適用於所有其他瀏覽器。Ajax無法在Opera瀏覽器上工作

頭:

<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

也許發佈一些代碼? – cambraca 2010-11-20 15:24:56

+3

jQuery **不能在Opera中工作,它必須是特定於您的代碼的。發佈您的ajax調用,以便我們可以測試它們。 – Marko 2010-11-20 15:25:54

+0

以及它是一個Facebook應用程序。更奇怪的是,即使facebook邀請Ajax表單加載。意思是說ajax自己並沒有什麼特別的錯誤。我能想到的唯一的事情就是頁面上有東西被加擾,但我沒有得到任何錯誤! – Petrus 2010-11-20 15:29:27

回答

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" }); 
+0

您應該用四個空格縮進代碼。 – SLaks 2010-11-21 21:35:47

0

是否在此工作新發布的Opera 11 beta版本?我們至少有一個影響Facebook Connect的修復程序(不過它在browser.js中,所以它只會在http://www.opera.com/docs/browserjs/顯示browser.js處於活動狀態並且最近更新時纔有效)。

相關問題