問題タブ [facebook-iframe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - iframeベースのFacebookアプリは、ウィンドウサイズが小さい不要なスクロールバーを取得します
私はこのFacebookアプリケーションのプロフィールページを持っています:
これは私のiframeベースのFacebookアプリケーションであるGemSpinnerに関連付けられています。
http://apps.facebook.com/gemspinner/
私が見ているのは、ウィンドウの高さに応じて、私のiframedコンテンツは、ページを下に流れるだけでなく(必要に応じてページの下部から)、固定の高さとスクロールバーで表示されるということです。したい。ウィンドウを短くすると、スクロールバーが表示されます。ウィンドウを高くすると、スクロールバーが消えます。私の理解では、Facebookがこの高さを決定し、スクロールバーを追加しています(しかし、それについては間違っているかもしれません)。いずれにせよ、これを理解し、必要に応じてコンテンツをページに流し込むための助けをいただければ幸いです。
javascript - Javascript スニペットで iframe を表示するには?
次の例のように、実行時に Iframe を表示する短い Javascript スニペットをユーザーが独自のページに含める可能性をユーザーに提供するウィジェットをオンラインでいくつか見ました。
自分でこれを行うにはどうすればよいですか - リモートサーバーで呼び出されたときにiframeを書き出すか、ページにコンテンツをロードするjavascriptをサーバーに持っていますか?
facebook - Facebook アプリケーションでの iframe のサイズ変更
そのため、Facebookは、404 の js ファイルを含むこのページを除いて、iframe アプリのサイズを変更する方法を参照するページを削除したようです。
私がオンラインで見つけたすべての例は、前述の不足している JavaScript ファイルを参照しているか、単に機能していません。
ガイダンスをいただければ幸いです。
ありがとう!
facebook-iframe - [facebookアプリ]タブからuser_idを取得する方法はありますか?
タブから user_id を取得しようとしています。params["signed_request"] で user_id に関する情報が得られることがわかりました。そして、私は試しました。しかし、実際には、params["signed_request"] は間違った値を与えてくれました。user_id の代わりに profile_id を返しました。とにかくタブからuser_idを取得できますか?
javascript - FB.ui({ method: 'auth.login' ...) を display: 'popup' の代わりに 'iframe' で実行するには?
シンプルな Facebook アプリのログインに取り組んでいます。JavaScript SDK を使用して、FB.login または次のコードを使用して、ポップアップ ウィンドウにログイン/拡張アクセス許可ダイアログを正常に表示できます。
問題は... 私はポップアップウィンドウがあまり好きではありません。UI の観点からは、アプリの残りの部分に属していないように感じると思います。また、JavaScript を介してそれらを表示させるには、理由もなくユーザーが余分にクリックする必要があります。ポップアップ ブロッカーを回避するために、ユーザーはログイン ボタンのようなものをクリックする必要があります (ほとんど無意味です。アプリは、ログイン ボタンを表示する必要があることを認識しており、ユーザーがログインする必要があることを既に認識しており、パーミッション ダイアログを表示するだけの場合もあります)。
では、代わりに iframe を使用しないのはなぜでしょうか? ページに適切に埋め込まれたポップアップ ブロッカーに問題はなく、Facebook はそれらを気に入っているようです。
最近の (2.1.2) JavaScript SDK ソースと Facebook 開発者フォーラムの他のさまざまな投稿を少し掘り下げると、オプションの一部として「display: 'iframe'」を FB.ui に渡すことができることが示されているようです。
しかし、試してみると、アクセス許可ダイアログを取得する代わりに、iframe が表示されますが、次のようになります。
「でエラーが発生しました。後でもう一度やり直してください。」
(注: 後で再試行しても同じ結果が得られます。)
これを機能させるためのトリックはありますか、それとも何らかの理由で禁止されていますか?
php - getLoginUrl() に関する Facebook PHP SDK の問題
getLoginUrl() を使用した PHP SDK のログインに問題があります。ユーザーがその関数によって生成されたリンクをクリックすると、許可ダイアログは表示されず、代わりに Facebook のロゴが表示されます。許可ダイアログを表示する前にクリックする必要があります。助けてください!
php - Facebookの友達リスト
最近フェイスブックアプリを始めました。PHP用の新しいfacebook APIを使用しています。友達の名前とプロフィール写真を表示する必要があります。さらに、友達を選択する必要があり、プライベートメッセージを送信する必要があります。
前もって感謝します...
php - 古い Facebook iframe アプリでセッションが無効にならない
私は非常に奇妙な問題に直面しています。私はほぼ 1 年前に Facebook iframe アプリケーションを開発しました。ユーザーセッションやその他の詳細にログインするためにfacebook-php-sdkを使用しています。最近、いくつかの変更を加えて、新しい facebook OAuth ベースの API を使用しました。しかし、ユーザーが Facebook からログアウトしても、私の iframe アプリは Facebook セッションにアクセスできます。この問題は IE でのみ再現可能です。
私は CodeIgniter フレームワークを使用しており、この投稿を参照しています。コード スニペットは次のとおりです。
出力では、ユーザーがログアウトした後でも有効なセッション値をすべて取得します。多くのことを試した後、新しい Facebook アプリケーションを作成し、URL を同じコードにポイントしました。コードを修正し、この新しい facebook アプリが提供する AppId、Appkey、AppSecret を使用しました。すべてが正常に動作するようになりました。
両方の Facebook アプリの設定はまったく同じです。唯一の変更点は、appURL とキーです。これは奇妙な動作であり、私にとって受け入れられる解決策ではありません。古い Facebook アプリを新しい Facebook API で動作させたい。なぜこれが起こっているのですか?何か案が?
cookies - FacebookはキャンバスページのiFrameにクロスドメインCookieをどのように設定しますか?
キャンバスアプリケーションについて読んでいるFacebookのドキュメントを閲覧していて、サンプルアプリケーションに出くわしました:http://developers.facebook.com/docs/samples/canvas。しかし、彼らの例を読んでいると、iframeアプリケーションでのCookieの使用について非常に混乱しました。
少し裏話...
埋め込み可能なウィジェット(Facebookとは関係ありません)にiframeを使用して遊んだことがありますが、いくつかのブラウザー(Chrome、Safariなど)には厳格なCookieポリシーがあり、iframeに設定されたクロスドメインCookieを許可していないことがわかりました(Firefox、一方、iframeはiframeにクロスドメインCookieを設定できます)。たとえば、foo.comにiframeがありsrc="http://bar.com/widget"
、iframeウィジェットがbar.comのCookieを設定できないため、iframe内で状態を維持するのに問題が発生します。bar.comは、からのすべてのリクエスト(ajaxリクエストを含む)を解釈します。確立されたセッションのない新しいリクエストとしてのウィジェット。私は苦労し、代わりにJSONPとjavascriptを使用してfoo.comのCookieを設定することでこれを回避する方法を見つけました...
... など?
さて、私はサンプルのキャンバスiframe Facebookアプリケーションを見ていましたが、それらのアプリケーション(runwithfriends.appspot.comでホストされている)がu
、現在のユーザーのIDとrunwithfriendsの他のいくつかのパラメーターを使用してCookieを設定できることに気付きました。 appspot.comドメイン。リクエストごとにこのCookieを送信します...ChromeとFirefoxの両方で機能します!WTF?FacebookはChromeのクロスドメインCookie制限をどのように回避しますか?
(私はすでに答えを知っていますが、これは同じことを理解するのに苦労している人にとって役立つかもしれないと思いました-私は以下に答えを投稿します。)