だから私はここでFacebookの質問のほとんどに目を通し、私の考えを完全に確認しました. Facebook の開発は、私が今まで使った中で最悪の部類に入るかもしれません。今のところ私の暴言は避けますが、私がどこから来ているのかについてのメモとして: php SDK を試してみて、箱から出してすぐにうまく機能し、機能をページタブに配置する必要があることがわかりました。ページタブ、FBMLを使用する必要があります(2か月で廃止されますが、まだiframeアプローチのテストを開始できません)
とにかく、この時点で FBJS に出くわしました。ほとんどの場合は「十分」に機能しますが、何らかの理由で、リスナーを追加してオブジェクト (特に選択ボックス) に登録されたイベントを取得できません (FBJS のドキュメントに従って)。私はそれをhtmlオブジェクトに直接追加して動作させることができますが、これは望ましくありません.論理と表示の分離を含む、それを行うための適切な方法を知りたいです.
私がしたいこと:選択ボックスをクリックし、選択を行い、空のdivに選択のテキストを表示します(後でAjaxを追加しますが、ここでは一度に1ステップずつ)
コード:
<script>
var obj = document.getElementById('select-id');
obj.addEventListener('onchange',my_func);
function my_func(evt){
var inner = document.getElementById('div-id');
inner.setTextValue('hey'); // for testing purposes
}
</script>
上記のコードは、選択ボックスに変更を加えても何もしません。ただし、これは計画どおりに動作します。
<select name="find_state" id="find_state" onchange="my_func();">
私は開発中にこの方法をしぶしぶ使用しますが、何が間違っているのか、または他の誰かがこの問題を抱えているかどうかを本当に知りたいですか? アプリケーション、ページ、およびタブはすべて互いにまったく異なる動作をしているように見えますが、それらはすべて同じことを行う必要があるようです。自分?これら 3 つすべてにまたがって開発するための統一された方法はありますか、それとも何か不足していますか?
事前に、そして過去の助けに感謝します!