问题标签 [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 投票
1 回答
462 浏览

html - Google Chrome Prerender 中的“cookie 冲突”

我一直在使用 Chrome 的预渲染功能

但是在最新的更新之后,当我尝试使用[chrome://net-internals/#prerender]. 它表明预渲染由于"Cookie Conflict".

我试图调试以确保在页面加载后某些 ajax 调用是否正在更改 cookie,但没有找到。预渲染仍然中止。它曾经与以前的 chrome 版本一起工作得很好。

0 投票
1 回答
1841 浏览

meteor - 如何将 Prerenderio 与 Meteor 一起使用?

我想在带有模数的服务器上使用 prerenderio 和 Meteor 而不是 phantomjs。

但是,鉴于他们提供的示例,我不确定如何集成它。他们只提供一个不能 100% 翻译的 node express 中间件。

0 投票
0 回答
1367 浏览

c# - 在 .NET MVC 应用程序中预渲染 Angular 页面

我正在使用适用于 .NET 的 EVO HTML-to-PDF 转换器实现一项功能,该功能应生成 AngularJS 构建页面的 pdf。

我正在将数据异步加载到页面,目前我的 PDF 自然不包含通过 ajax 加载的任何内容。

我必须能够通过 URL 直接访问 pdf,因此无法使用 javascript 将 DOM 传递给服务器。

我已经实现了Prerender.io的 .NET 中间件(由 greengerong 提供),它似乎工作正常但

  1. 该页面落后于身份验证(.NET 基本 MVC5)
  2. 我不想将敏感数据传递给 3rd 方服务
  3. 我正在 localhost/ 中开发

问题是:有什么方法可以伪造预渲染,或者我如何自己实现 prerender.io 服务以在同一个 .NET MVC 应用程序下运行(以保留身份验证令牌等等)?

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上的文档。所以可以说我在这里放了预渲染:

在控制台中我跑了:

Zfr-prerender 是中间件,我只更改了一件事,即引用 prerender 的 url:

在我的浏览器中,我转到:

本地主机/商店/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 投票
0 回答
246 浏览

ruby-on-rails - Prerender + Angular JS + Rails 仅适用于第二个查询

我将基于 Angular JS 的 Rails 应用程序拆分为两个应用程序。呈现 HTML 的前端和呈现 JSON 的后端纯 API 应用程序。

我将 prerender_rails gem 用于前端应用程序,并在本地运行 prerender 开源服务。我相信我正确配置了中间件,因为查询是由前端处理的,并且 phantom js 正在工作并且页面正在呈现。

问题是第一个(或有时是第二个)查询返回空页面,而第二个查询(有时是第三个)呈现正确的 HTML 页面。之后,对同一 URL 的每个下一个查询都会呈现正确的页面。

我在 Puma 上运行前端和后端应用程序,每个有 8 个工人。

任何想法如何解决它?

0 投票
1 回答
856 浏览

javascript - 在 Nginx 或 Django 中安装 Prerender?

Prerender.io允许您通过编辑Nginx 配置或添加Django 中间件来安装它。

性能差异是什么(如果有的话),哪种设置更好?

预渲染入门

0 投票
1 回答
728 浏览

basic-authentication - 预渲染 basicAuth 配置

我正在运行一个预渲染服务器,一切都很好,但现在我想使用basicAuth设置一些安全性。

在我的控制台中,我导出了用户名和密码

在我的 server.js 中,我添加了这一行:

但现在的问题是,如何配置我的 express 服务器以使用正确的用户/密码调用 prerender。我有这个 :

我没有找到任何文档,我期待类似:

我会很感激你的帮助。谢谢,圣诞快乐:)

解决方案

像往常一样,当您清楚地了解问题时,解决方案很简单......

代替 :

简单地 :

但新问题

像这样启动我的脚本时可以访问导出的环境变量(BASIC_AUTH_USERNAME 和 BASIC_AUTH_PASSWORD):

但是因为我希望它们一直运行,所以我做了一个:

在这种情况下,环境变量不再可访问......我将打开一个新问题,因为它是相关的,但与第一个问题无关!

但希望是全新的解决方案

即使我不喜欢它,因为我更喜欢只设置我的 env 变量一次,像这样使用永远的技巧:

2016/05/05 更新

我现在已经转移到主管来运行我的 nodejs 后台服务器,这是我的 prerender 部分(注意环境变量是如何传递的)

我在 .htaccess 重定向中遇到了奇怪的问题,因为

没有添加正确的基本身份验证请求标头,因此 prerender 拒绝快照(401),我必须激活 Apache 标头模块(sudo a2enmod 标头)并将这一行添加到上一行之上:

代码 aHVnbzpib3Nz 由命令行生成:

0 投票
0 回答
333 浏览

angularjs - Angular js 应用程序无法通过使用 prerender.io 的 facebook 共享生成正确的页面

我已经使用 angularjs 开发了单页应用程序。Angularjs 源存储在 amazon s3 上。对于 SEO 和社交分享,我使用了 prerender.io。我的网络服务器是包含 amazon S3 的 nginx。我认为我的 nginx.conf 配置得很好。但是,当尝试在 facebook 上分享时,会出现错误的结果,因为 angular 中的绑定模型没有被动态替换。我检查了http://prerender.io上的页面缓存是否成功,但 facebook-shared 结果显示好像绑定模型没有被替换。我想知道为什么不。请帮帮我!!我的 nginx 的设置如下。

http{

0 投票
0 回答
499 浏览

angularjs - Angular SEO:IIS 上的 Google 网站管理员工具和 Prerender.io

我正在为 MVC https://github.com/greengerong/PreRender_asp_mvc使用 PreRender.io 。

facebook 爬虫一切正常。我可以分享我的帖子,Facebook 会显示预渲染结果。

我正在使用 pushState 并且在我的头部部分中包含了

我对 Google WebMaster Tool 有疑问。当我尝试获取我的页面时,它不会自动将“?_escaped_fragment_ =”添加到我的链接中。当我将手动“?_escaped_fragment_ =”放在链接末尾时,一切正常。

谢谢