gpt4 book ai didi

javascript - 如何加载外部 .js 调用生成的 HTML?

转载 作者:行者123 更新时间:2023-11-28 18:07:55 25 4
gpt4 key购买 nike

Actual "Fetch as Google" results.

如果内容是从 JS 文件动态生成的(请参见上图),Googlebot 看到的内容会与访问者不同(根本不对其建立索引)。假设我有以下代码:

<body>
<div>Bunch of Content</div>
<script type="text/javascript" src="/js/somefile.js" />
<div>Bunch of Content</div>
</body>

如何在页面加载时在文档中显示实际生成的 HTML:

<body>
<div>Bunch of Content</div>
<p>Javascript dynamically created this string and this string.</p>
<p>Date: timestamp by JS</p>
<p>Other info dynamically created by JS.</p>
<div>Bunch of Content</div>
</body>

我让 JS 承担繁重的工作,专门为页面动态生成一些内容。问题是,因为内容是在 JS 文件中生成的,所以内容永远不会加载到 DOM 中以供爬虫索引。

有办法做到这一点吗?谢谢!

最佳答案

Google 可以索引动态内容,但这并不意味着它将对其进行索引,或将其显示在搜索结果中,因为它通常只在搜索负面方面(例如黑帽 SEO 做法)时查找动态内容,尽管对于某些它可能会决定将其用于索引(当涉及到 Google 如何处理此问题时,这实际上是一个盲目的猜测,因为他们没有透露此类详细信息)。

如果您的 JS 正在发出 AJAX 请求,并且您是 API 或从请求中调用的任何端点的所有者,那么您最好的选择是将结果缓存在服务器端,然后修改您的 HTML页面(应该是动态的),因此它会在发送到浏览器的 HTML 中呈现最新的缓存结果,但使用无害的 CSS 规则(如 <div> )包装在容器标记(如 opacity: 0; )中。所以默认情况下该内容对用户不可见,应更改为 opacity: 1;加载最新的 HTML 后,由您的 JS 文件执行。

关于javascript - 如何加载外部 .js 调用生成的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238176/

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