gpt4 book ai didi

javascript - Curl 获取有 Angular 页面的内容

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:03 24 4
gpt4 key购买 nike

我正在开发 Angular 2 应用程序,我们需要使用 Google 地球来运行此应用程序。不幸的是,Google Earth 使用了一个非常古老的 Chrome 版本,它对 Angular 2 一无所知。需要一种机制来在服务器上运行 Angular 2 应用程序,并将已执行/引导的 Angular 的初始 html 响应发送到该浏览器。

我正在考虑创建一个与 Google Earth 浏览器通信的 PHP 服务器。因此本质上,Google 地球将从该 PHP 服务器请求页面。该 PHP 服务器将发出 CURL 请求,从 Angular2 应用程序中获取相应的页面,并将 HTML 返回到 Google 地球浏览器。

但是,有一个问题。 Curl 确实从 Angular 应用程序获取响应,但不等待 Angular 应用程序完成引导,这意味着在 ui-view 被路由器内容填充之前,CURL 呈现其响应,在这种情况下这恰好是无用的我没有得到任何有用的信息HTML 返回。

我使用此链接来检查 CURL 响应:http://onlinecurl.com/您可以选择任何 Angular 网站并使用此链接查看它给出的响应。

有没有办法让curl可以等到 Angular 引导然后返回HTML?或者还有其他方法可以解决这个问题吗?

我尝试过 Angular-Universal,但实现起来似乎太复杂,而且我没有时间来解决这个问题。

欢迎所有解决方案。提前致谢。

最佳答案

Angular 打破了 Semantic Web , Tor在最大安全模式下,以及除渲染网络浏览器之外的任何其他类型的兼容性。因此,我建议避免使用 Angular,或者如果这不是一个选项,请创建一个更快、更小、更兼容的站点镜像,该镜像为每页提供一个 html.gz 文件。使用类似 Selenium IDE 的内容因为“Angular Universal”不支持 window/document/jquery/etc 和 phantomjs & nightmare使用旧的有缺陷的代码。 2,361.07 KB example Angular 页面可以缩减为 9.7 KB 的平面文件。另一种选择是,如果您只需要数据,并且可以使用或可以找到具有正文 HTML 的 XHR JSON 文件并获取该文件。 curl -sL 'https://api.ontario.ca/api/drupal/page%2Fjobs-and-prosperity-fund-new-economy-stream?fields=body' > body.json for上面的例子

关于javascript - Curl 获取有 Angular 页面的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38497240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com