3

prerender.io のローカル インストールを使用して、Angular.js Web アプリケーションの静的スナップショットを生成しようとしています。

Web アプリケーションのバックエンドは、最初のリクエストで設定され、後続のすべてのリクエストで必要とされるセッション Cookie を使用します。送信されていない場合、リクエストは失敗します (バックエンドによって拒否されます)。これは、通常のブラウザーで webapp を使用する場合に正常に機能します。

prerender.js では、バックエンドを呼び出すものを除いて、すべての要求が機能します。明らかに phantomjs が Cookie を送信しないため、それらは失敗します。

prerender.js が Cookie をサポートしない (または無効にする) のは本当ですか? もしそうなら、それらを有効にするにはどうすればよいですか? 私の知る限り、PhantomjsはCookieをサポートしています...

4

1 に答える 1

4

ほとんどのクローラーは Cookie を使用しないため、Cookie はデフォルトでオフになっていますが、Cookie が必要なために Web サイトが機能しない場合は、COOKIES_ENABLED 環境変数を true に設定するか、プリレンダリング サーバーの作成時にオプションを渡すことができます。あなたのコードで:

var server = prerender({
    cookiesEnabled: true
});
于 2015-01-09T17:11:59.730 に答える