javascript - 如何为启用 javascript 和非启用 javascript 的站点创建两个平行的站点?
问题描述
我想创建两个版本的网站,其中一个适用于启用 javascript 的用户,另一个适用于非启用 javascript 的用户。在启用 javascript 的版本中,我使用 AJAX 加载所有爬虫无法访问的内容。我想使用下面的代码将页面重定向到非启用 javascript 的版本:
<noscript>
<meta http-equiv="refresh" content="0; url=https://example.org?noscript=true" />
</noscript>
我还想在索引页面中放一些 PHP 脚本来检查 url 参数。这是我的 PHP 代码:
<?php
if ($_GET['noscript'] == "true") {
// This is non-javascript-enabled version
// Show all content here using WP_QUERY function
}
?>
现在我有一个问题。谷歌爬虫是否使用非启用 javascript 的版本访问内容?
解决方案
我认为两者兼而有之。它肯定会运行一些 JavaScript,但我也看到它显示元素内<noscript>
内容的结果,所以它可能会工作。
但是,您提供的 HTML无效。大多数浏览器可能会接受它,但它不是严格有效的 HTML。相反,您应该使用此问题的解决方法。
不过,感谢您尝试提供您网站的非 JavaScript 版本。即使 AJAX 获取的静态内容不是创建网站的最佳方式(通常最好将所有内容都保存在其中,但用 CSS 隐藏其中的一些内容),最好尝试为每个人提供完整的体验而不是把一些人丢在一边。
推荐阅读
- typescript - 在 AWS CodeBuild 中运行 cdklocal。错误:没有配置凭据
- javascript - 使用 3D Secure 的 Stripe 支付意图仍然不完整
- docker - 如何将本地目录映射到 Docker 容器的目录?
- javascript - React如何在变量更改时重新渲染地图功能?
- node.js - 从 Github 部署状态 webhook 中获取对应的 PR
- python - 浮点到字符串转换后的 TypeError
- python - 如何使用编译器标志重建 tensorflow?
- php - 在 curl 中发布后如何获得结果
- django - 尽管继承了通用视图和 CSRF 中间件,但 Django CSRF 令牌未验证
- sas - 使用连接数据集之一填充缺失数据