私は今、一人で Facebook アプリを開発しています。onclick イベントで JavaScript 呼び出しを実行しようとしています。この onclick イベントでは、リンクされているアイテムに基づいて (php のサーバー側から) いくつかの引数を設定しています。少しの JSON とファンキーな文字を含むその他のものを挿入しています。
Facebook は、アンカーのすべての属性フィールドが厳密に英数字であることを期待しています。引用符、感嘆符、0-9a-Z_ 以外は使用しないでください。そのため、ユーザーがそのリンクをクリックしたときに、JavaScript 関数 (JSON など) に渡したい引数を無視します。
そこで、テンプレート システムを使用して JavaScript を自動生成しないのはなぜでしょうか。生成したいリンクごとに、一意の JavaScript 関数を生成します (X はこのページの一意の整数である DoItX)。次に、onclick を介して JavaScript 関数に引数を渡す代わりに、引数を DoX のローカル変数として挿入します。リンク「X」では、onclick="DoX()" とだけ言います。
だから私はこれをやったし、ビオラはうまくいく!(それはまた、私が以前にいた地獄から逃れる引用を避けるのにも役立ちます). でも気持ち悪い。
私の質問は、私は気が狂っていますか?これを行う簡単な方法はありますか?何らかの形で誰かが私のテンプレート化されたローカル変数を変更できたという意味を理解しています。
var local = {TEMPLATED FIELD};
クライアントに任意の JavaScript を挿入して、セミコロンで何かに変換します。(そして、私はこれに偏執するようにコードを書こうとしています)。
サーバーからjavascriptを生成するのはいつですか?注意すべきこと/ベストプラクティスはありますか?