FB Graph apiを使用してユーザーのウォールに投稿しています。ウォールに投稿する関数は次のとおりです。
function PostToWall()
{
var mymessage = 'my message';
var mypic = 'http://myapp/a.jpg';
var mylink = 'http://www.myapp.com';
var myname = 'myApp';
var mydesc = 'my desc .';
FB.api('/me/feed', 'post', { message: mymessage, picture: mypic, link: mylink, name: myname, description: mydesc }, function (response) {
if (!response || response.error) {
alert(response.error.message);
} else {
alert('Post ID: ' + response.id);
}
});
// alert('Do you want to continue ? ');
};
それはクロムで正常に動作しますが、Firefoxで同じものを使用すると、不明なエラーが表示alert(response.error.message);
され、Firefoxのエラーコンソールにエラーが表示されます
Error: uncaught exception: [Exception... "prompt aborted by user" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource://gre/components/nsPrompter.js :: openTabPrompt :: line 468" data: no]
解決策は、関数の終了前にユーザーにプロンプトを表示することであることがわかりました。最後の行alert('Do you want to continue?'); を参照してください。. このアラートを作成すると、Firefox でも正常に動作しますが、ユーザーにメッセージを表示したくありません。何が問題で、解決策は何ですか?
firefox 5.0 を使用しています。私のオペレーティングシステムはWindows 7です。
PostOnWall 関数は、次のような別の関数から呼び出されます。
function f(){
PostToWall();
...
...
//code to click a submit button
}