【发布时间】:2015-12-19 15:45:12
【问题描述】:
我有一个网站,其中每个 HTML 页面都有一个导航菜单。为了实现这一点,有一个 JavaScript 函数被调用并编写了包含所有链接的导航面板
<!------------------------------------------------------------------------
HEADER Navigation bar
------------------------------------------------------------------------>
<script>
insertHeader();
</script>
因此,如果有更改,则仅在 JavaScript 文件中完成,并自动应用于整个网站的数十个页面。
问题: 我正在尝试使用this tool 生成站点地图。但是,由于我的导航面板不是用 HTML 编写的(而是由 JS 插入的),因此该工具无法识别导航。结果,我的网站 99.9% 无法识别。我看到的其他工具也有类似的行为。
1) 我该如何克服这个问题?
2) 谷歌爬虫会看到我在导航面板中的其他链接吗?
【问题讨论】:
-
JS函数中的信息是如何结构化的?它是在读取 JSON 文件吗?
-
它只有一个“document.write(...这里我写HTML代码...)”函数。
-
如果可以的话,将数据与代码分开,并将菜单信息放在单独的文件中(JSON、XML 或任何您想要的格式)会很有帮助。然后你可以从 JS 中读取该文件并生成菜单,并从后端读取该文件并生成站点地图。
-
谢谢您,但我不确定我是否理解您的意思(p.s. 我也不熟悉 JSON)。你能举例说明我应该怎么做吗?
-
很难在评论中解释,但在这里:如果你有 JSON 格式的数据(例如:
[ { "name":"option1", "url":"http://myurl.com" }, ... ]),你可以从 JavaScript 中读取它;但不是只有一个大的document.write,而是一个带有小document.writes 的循环(例如:document.write("<li><a href='" + data.url + "'>" + data.name + "</a></li>"))来生成菜单。然后,您还可以使用脚本语言(例如:PHP、Ruby、Python...)读取 JSON 文件,并在不使用任何其他工具的情况下生成站点地图。
标签: javascript jquery html web-crawler sitemap