【发布时间】:2014-08-20 00:29:53
【问题描述】:
创建链接时,我需要确定是否可以执行以下操作:
<a href="page.html" onclick="javascript:ajax();">blah</a>
我想要它,这样如果用户点击它,它将获得我们使用 ajax 描述的内容 但是,我希望搜索引擎能够跟踪该链接,以便我们仍然获得最大索引。
我很确定它应该可以工作,但想澄清一下
【问题讨论】:
创建链接时,我需要确定是否可以执行以下操作:
<a href="page.html" onclick="javascript:ajax();">blah</a>
我想要它,这样如果用户点击它,它将获得我们使用 ajax 描述的内容 但是,我希望搜索引擎能够跟踪该链接,以便我们仍然获得最大索引。
我很确定它应该可以工作,但想澄清一下
【问题讨论】:
将链接的href 属性设置为您希望搜索引擎关注的静态页面,然后使用onclick 事件为“人类”用户执行您的javascript/ajax 请求。只要onclick事件返回false,就不会跟随标准链接。
对此的一个很好的测试是关闭 javascript 并单击链接 - 您最终应该得到您希望搜索引擎看到的内容。
onclick 属性中不需要“javascript:”字符串,仅当您将 javascript 放入 href 属性时才需要。你应该有类似的东西:
<a href="page.html" onclick="ajax(this.href); return false;">blah</a>
【讨论】:
我问了类似的问题,我从哪里得到this answer from pekka:
最好的方法是degrade gracefully,例如通过使用标准
<a id='mylink' href='xyz.html'>
指向在弹出窗口中打开的资源的链接。 然后将 JQuery 代码添加到链接中,使其在弹出窗口中打开。
这样,即使没有打开 JavaScript 的用户也可以访问您的弹出窗口。
大多数像 Thickbox 这样的 Lightbox 克隆都是这样工作的。
【讨论】:
<a> 标签中设置 onclick 事件演示,或使用您的示例标签,然后输入document.getElementById("mylink").onclick = myFuncWhichReturnsFalse;