如何从 next.js amp 页面中删除链接 rel=canonical?

问题描述

有没有办法完全删除这个元标记?它似乎是自动添加的,但我需要摆脱它吗?我没有使用任何库来处理元标记/头部,但我没有注意到他们的文档中有任何有用的东西。

编辑:可能是 next.js 的 amp 负责这个标签

解决方法

我们遇到了类似的问题。我们正在以混合模式运行带有 amp 的 nextjs,并且有时希望没有链接到页面的 amp 版本...... amphtml 和规范链接都是由 next 自动添加的,并且没有明显的方法可以选择退出成立。我们最终为此创建了一个组件,该组件可以包含在我们想要的任何地方。也许这对你也有用?

import { useEffect } from 'react'    
function NoCanonicalMetaLink() {
  useEffect(() => {
    document.head.querySelector('link[rel="canonical"]')?.remove()
  })
  return null
}

function SomePage() {
  ...
  return (
    ...
    <NoCanonicalMetaLink />
    ...
  )
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...