2012-01-06 13 views
1

Facebook送信ボタンのURLをJavascriptで動的に変更しようとしていますが、これまでのところ成功していません。Facebook送信ボタンのURLを動的に変更する

いくつかの入力を設定したページがあります。送信ボタンのURLを送信する前に、フィールド値をパラメータとして使用したいと考えています。問題は、ページに送信ボタンを追加したときにiframeコードが生成され、後でhrefパラメータを変更してもiframeが元のリンクを保持していることです。何らかの理由で送信ボタンを押したり、ページが読み込まれた後にフィールドを追加したりすることができます。

ありがとうございました。

+1

あなたは実際に何を達成しようとしていますか? –

+0

たとえば、私は名前の入力を持っています。 Julioを挿入すると、送信ボタンはURL http://www.myurl?name = Julio – user1134149

+0

を送信する必要があります。入力が変更されたら、送信ボタンiframeを新しいパラメータで再描画し、次にFB.XFBML.parse (); ' –

答えて

1

これはできません。 Javascriptを使用して、あなたとは別のドメインのiFrameを制御することはできません。これはSame Origin Policyが原因です。

ボタンxfbmlタグを送信するパラメータを変更し、ボタンが新しいパラメータを使用するようにFB.XFBML.parse();を呼び出してください。

+0

ありがとう、これはURLの変更に私を助けてくれました。今私の問題は、Facebookの送信ボタンがURL文字列のパラメータを取り除いているようです...つまり、http://www.myurl.com?x=1&y=2はhttp://www.myurl.comになります?x = 1&fb_source = message ... – user1134149

+0

なぜそれが起こっているのかわかりません。ただし、FBが1つのパラメータのみを許可する場合は、デフォルト以外のエンコーディングを使用します。たとえば、 'myurl.com?myparams = x_1 | y_2'を実行できます。それは 'myparams'の値として' x_1 | y_2'を扱うでしょう、そしてあなたはそれに応じて解析します。 –

+0

このソリューションはうまくいくかもしれませんが残念ながら私のページのIDである最初のパラメータが既にあるのでハックすることはできません...&の代わりに#を追加しようとしましたが、FBもそれを取り除きます。 – user1134149

1

XFBMLの代わりにiFrame版のボタンを使用してみてください。フォームに記入されたデータを渡したAJAX呼び出しを使用して、フォームの送信後に同様のボタンをページにポストロードすることができます。

+0

ありがとうございます。それはうまくいくように聞こえますが、問題はサーバー側のスクリプトファイルを使用できないことです。 HTMLとJSのみで、同じページで行う必要があります。 – user1134149

関連する問題