我正在使用下面的函数 (GWT) 动态创建 HTML 元标记。将它放在 DOM 上需要 1 秒。除了 Facebook,它工作正常。当我从我的网站共享一个链接时,抓取工具会获取 HTML 中的元标记:无。我怎样才能解决这个问题?
/**
* Include the HTML attributes: title, description and keywords (meta tags)
*/
private void createHTMLheader(MyClass thing) {
String title=thing.getTitle();
String description=thing.getDescription();
Document.get().setTitle(title);
MetaElement metaDesc = Document.get().createMetaElement();
metaDesc.setName("description");
metaDesc.setContent(description);
NodeList<Element> nodes = Document.get().getElementsByTagName("head");
nodes.getItem(0).appendChild(metaDesc);
}
这是 DOM 上的结果 HEAD。标题aaaa
和元描述已动态加载。(感谢CBroe的提示)。在“查看源代码”功能中,这些动态标签不会显示(仅在开发人员工具上 - 查看 dom)。
<head>
<title>aaaa</title>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<meta name="description" content="My description">
<script language="javascript" type="text/javascript" src="dialective/dialective.nocache.js"></script><script defer="defer">dialective.onInjectionDone('dialective')</script>
</head>
原始 HTML 没有 TITLE 或 META-DESCRIPTION 标签。