2011-10-21 12 views
0

我正在嘗試從Facebook註銷,不僅從我的應用程序也從facebook註銷。我正在使用圖形API桌面版本,而且我正在使用flex進行編碼。如何從flex中執行一個javaScript方法

有沒有辦法將用戶從應用程序和facebook登錄?我認爲,也許使用javaScript方法FB.logout()我可以做到這一點,但我不知道正確的方法來做到這一點。

我的意思是,我嘗試:

ExternalInterface.call( 「FB.logout()」);

但它拋出一個錯誤,說ExternalInterface的是在這個容器中沒有可用...

在此先感謝!

+0

聽起來可能是因爲頁面中的HTML中的allowScriptAccess設置不允許ExternalInterface調用。 http://kb2.adobe.com/cps/164/tn_16494.html –

+0

@LarsBlåsjö好的感謝信息...你知道我可以設置allowScriptAccess =總是嗎? –

回答

0

確保allowScriptAccess在html中設置。如果您使用的是swfobject,則可以通過params對象進行設置。如果您使用的是普通的object標籤,將其設置爲嵌套param元素,即:

<param name="allowScriptAccess" value="always"> 

ExternalInterface自動生成的函數調用,所以你需要刪除調用paranthesis (),即

// Don't need the parens, EI will add them 
ExternalInterface.call("FB.logout"); 

希望有幫助!乾杯。

+0

謝謝...問題是我真的不知道如何設置這個屬性,我的意思是,我不知道在哪個對象中我必須設置它...感謝您的幫助! –

+0

你使用flex來生成最終的html頁面嗎?如果是這樣,你可以在'/html-template/index.template.html'處找到該文件,並查找swfobject JS嵌入代碼。在JS中,有一個'params'對象,默認情況下'allowcriptaccess'屬性設置爲'sameDomain'。如果你從一個不同的域運行swf,你會想把這個字符串改成「always」,否則你可以放棄它。 – keeganwatkins

+0

好吧,我認爲我沒有運氣,因爲我不生成最終的HTML頁面... –

相關問題