問題タブ [prerender]

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.

0 投票する
0 に答える
1367 参照

c# - .NET MVC アプリケーションでの Angular ページの事前レンダリング

AngularJS で構築されたページの pdf を生成する必要がある.NET 用の EVO HTML-to-PDF コンバーターを使用して機能を実装しています。

ページに非同期でデータをロードしていますが、現在、私の PDF には ajax 経由でロードされたコンテンツが含まれていません。

URL経由でPDFに直接アクセスできる必要があるため、JavaScriptを使用してDOMをサーバーに渡すことはできません。

Prerender.ioの .NET ミドルウェア ( greengerong による)を実装しましたが、正常に動作するようです。

  1. ページは認証の背後にあります (.NET 基本 MVC5)
  2. サードパーティのサービスに機密データを渡したくない
  3. 私はlocalhost /で開発しています

質問は次のとおりです。事前レンダリングを偽造する方法はありますか、または同じ .NET MVC アプリケーションで実行するために prerender.io サービスを自分で実装するにはどうすればよいですか (認証トークンを保持するためなど)?

0 投票する
1 に答える
964 参照

node.js - Angular SEO: Heroku の Node.js サーバーの Google ウェブマスター ツールと Prerender.io

heroku での prerender.io サーバーのセットアップに関するドキュメントとチュートリアルに従った後でも、GWT はまだデータなしで私のサイトをフェッチしてレンダリングしています。

prerender.io はページを適切にキャッシュしています。index.html にフラグメント メタ タグを設定し、app.js に $locationProvider.hashPrefix('!') を設定しました。

サイトを適切にクロールするために何が必要なのか、または GWT のレンダリングが見た目ほど適切ではないのか、誰か説明してもらえますか?

ありがとう!

エクスプレスサーバーはこちら

0 投票する
1 に答える
322 参照

angularjs - phantomjs で奇妙な文字が出力される

Xamppにprerender.ioをインストールしましたが、特別なことは何もしませんでした。prerender に必要なものをすべてインストールし、prerender.iohttps://github.com/zf-fr/zfr-prerenderのドキュメントに従いました。ここに prerender を置いたとしましょう:

そして、私が実行したコンソールで:

Zfr-prerender はミドルウェアで、prerender を参照する URL を 1 つだけ変更しました。

私のブラウザでは、次の場所に移動します。

ローカルホスト/ショップ/api/list?_escaped_fragment_=

ルートが見つからない場合、angularJS からのルーターは /list/1 にリダイレクトします。

}]);

コンソールは私にこれを伝えています:

しかし、phantomJS が返すのは奇妙な文字だけです。

これらは、ヘッダー var_dump($response->getHeaders()) です。

これは PHP var_dump($response->getContent()) です:

文字列 '‹������³É(Éͱ³ÉHML±³Ñ‡PIù)•@”+�� 'H'���' (長さ=45)

‹³É(Éͱ³ÉHML±³Ñ‡PIù)•@”+ 'H'

0 投票する
1 に答える
728 参照

basic-authentication - basicAuth 構成を事前にレンダリングする

私はprerender サーバーを実行していますが、すべて問題ありませんが、 basicAuthを使用してセキュリティを設定したいと考えています。

コンソールで、ユーザー名とパスワードをエクスポートしました

私のserver.jsに、次の行を追加しました:

しかし、問題は、正しいユーザー/パスで prerender を呼び出すように Express サーバーをどのように構成すればよいかということです。私はこれを持っています:

ドキュメントが見つかりません。次のようなものを期待しています:

よろしくお願いします。ありがとう、そしてハッピークリスマス:)

解決

多くの場合、問題を明確に理解していれば、解決策は簡単です...

それ以外の :

簡単に:

しかし、新しい問題

次のようにスクリプトを起動すると、エクスポートされた環境変数 (BASIC_AUTH_USERNAME および BASIC_AUTH_PASSWORD) にアクセスできます。

しかし、私はそれらを常に実行したいので、次のことを行います:

この場合、環境変数にアクセスできなくなります...最初の質問ではなく関連しているため、新しい質問を開きます!

しかし、願わくば新しいソリューション

env変数を1回だけ設定したいので気に入らない場合でも、永遠のように使用してトリックを行いました:

2016/05/05更新

nodejs バックグラウンド サーバーを実行するためにスーパーバイザーに移動しました。ここに私の prerender セクションがあります (環境変数がどのように渡されるかに注意してください)

それ以来、.htaccess リダイレクトで奇妙な問題が発生しました。

正しい Basic Auth リクエスト ヘッダーを追加していなかったため、prerender がスナップショット (401) を拒否していたため、Apache ヘッダー モジュール (sudo a2enmod ヘッダー) を有効にして、前の行の上に次の行を追加する必要がありました。

コード aHVnbzpib3Nz は、コマンド ラインによって生成されます。