使用JS替换HTML中检测到的链接和其他链接

时间:2010-03-15 19:55:24

标签: javascript

我在弄清楚如何做到这一点时遇到了一些麻烦。

这是场景。我的电子商务网站有一个包含大量内容的博客,宣传我销售的产品,审核它们等。博客上99%的帖子链接回他们正在谈论的产品。

我将更改电子商务系统所在的网址。因此,我的博客最终会将人们发送到404页面。

我的想法是能够包含一个JS文件,该文件将加载,扫描文档以查找现有链接,如果找到,则将它们与现在正确的文件交换出来。

我希望这是有道理的。

干杯, 吉姆


3 个答案:

答案 0 :(得分:5)

这在jQuery中非常简单;但在多个层面上是一个坏主意。第一个是ItzWarty说,禁用JavaScript的用户仍然会得到404。

另一个原因是像GoogleBot这样的网络蜘蛛不会执行JavaScript,所以他们会看到404也会破坏你的搜索引擎优化;将内容迁移到新网址时,如果您有兴趣保留搜索排名,则应将旧网址重定向(永久移动)到新位置。

答案 1 :(得分:3)

如果要创建要重定向的JavaScript,为什么不创建批处理来更新所有这些文件/链接。

我假设这些是静态文本文件,如果它是数据库驱动的,它也是可以实现的。

答案 2 :(得分:0)

在您的博客页面中,在标签之前的页面末尾贴上这段简单的代码。

<script type="text/javascript">
   var collection = document.getElementsByTagName('a'),
   old_url = "http://www.myoldurl.com", //place here you old url
   new_url = "http://www.mynewurl.com", //place here your new url
   i, len = collection.length;
   for(i = 0; i < len; ++i)
      if(collection[i].href)
         collection[i].href = collection[i].href.replace(old_url, new_url);
</script>

由于您正在使用博客,因此您只需在博客的布局/模板页面中为所有代码添加一段代码,因此代码将插入到每个页面上,只需标记为。