4

Heroku でホストしているページを iframe を介して呼び出している単一ページの FB Canvas アプリがあります。

私のherokuリンクから直接ページを読み込んでも問題ありません。ただし、キャンバス アプリからページを読み込もうとすると、HTML の半分しか読み込まれないことがあります。アプリでページ全体を正しくレンダリングするには、スパムの更新が必要です。

自分のページを W3C バリデーターでチェックしましたが、構文の問題はありません。

Heroku が遅いだけですか? URLに直接アクセスすると、かなり速くロードされます。

ページが途中で読み込まれて停止する原因は何ですか?

4

2 に答える 2

1

私もこの問題を抱えていました。この質問の問題に関連していると思います: iFrame が Facebook キャンバス アプリで空白を表示する

Flask を使用する Python アプリの場合は、次のコードを試してください: from werkzeug.wsgi import LimitedStream

class StreamConsumingMiddleware(object):

    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        stream = LimitedStream(environ['wsgi.input'],
                               int(environ['CONTENT_LENGTH'] or 0))
        environ['wsgi.input'] = stream
        app_iter = self.app(environ, start_response)
        try:
            stream.exhaust()
            for event in app_iter:
                yield event
        finally:
            if hasattr(app_iter, 'close'):
                app_iter.close()

次の行でアクティブにします。

app.wsgi_app = StreamConsumingMiddleware(app.wsgi_app)

ソース: http://flask.pocoo.org/snippets/47/

于 2013-03-06T23:19:17.167 に答える