【问题标题】:How to convert all Links of a webpage into short URLs?如何将网页的所有链接转换为短网址?
【发布时间】:2011-01-24 05:54:22
【问题描述】:

问题是我想将网页中的所有 URL 更改为短 URL,(对于任何服务,最好使用已知的)我认为这可以通过网页标签中链接的简单 Javascript 文件来完成, 我对吗?我可以使用哪种服务来做到这一点?谢谢!

附:这个想法是,当我在网页中写入一个 URL 或出现一个 URL(因为页面自己编写)时,一些脚本或服务会将它们全部更改为短链接,因此真正的链接永远不会显示在网页中,如果它是可能,我想阻止用户“看到”真正的链接,我的意思是,如果我可以使用一种服务,当缩小 URL 并且用户跟随它时,真实的链接永远不会出现在用户的地址栏中,但这是可选的...

等待您的答复,非常感谢! :)

编辑 - 我想使用 anonym.to 之类的东西,但使用 shark 链接服务,请看:

如果您使用 anonym.to javascript 代码:

<script src="http://js.anonym.to/anonym/anonymize.js" type="text/javascript"></script>

<script type="text/javascript"><!--
protected_links = "";

auto_anonymize();
//--></script>

它将使用 anonym.to 链接更改网页的所有链接,我想做同样的事情,但使用一些已知的 URL 缩短服务,你能告诉我怎么做吗?谢谢!

【问题讨论】:

  • 简短回答:您不能在 JavaScript 中执行此操作。这是一个服务器端操作。
  • 你为什么要做这样的事情?

标签: javascript url hyperlink short-url


【解决方案1】:

这取决于您是想以编程方式还是事先(由您创建然后加载到页面中)来执行此操作。我要做的是将谷歌 API 用于 goo.gl goo.gl。您可以通过 jquery 获取所有链接,然后遍历,然后使用 google API 交换到一个短 url。页面中的任何原生内容仍然可以在源代码中看到,但如果您将鼠标悬停或单击它,则不会。如果您通过 AJAX 调用加载内容,那么您可以在将链接写入页面之前对其进行编辑。

【讨论】:

  • 嗯,是的,我在考虑使用 goo.gl,¿你能给我一个解释的例子来说明如何做你所说的吗?好吧,如果你有耐心,谢谢!
【解决方案2】:

您会满足于更改隐藏链接的方式吗?隐藏链接似乎是非常不可取的(从主机和访问者的角度来看),但这可以做你想做的事情(并且仅在支持 JS 的浏览器中受支持):

var links = document.getElementsByTagName('a');
for (var l = 0; l < links.length; l++){
    links[l].rel = links[l].href;
    links[l].href = '#';

    if (links[l].addEventListener) {
        links[l].addEventListener("click",myClick,false);

    } else if (links[l].attachEvent) {
        links[l].attachEvent("onclick",myClick);
    } else {
        links[l].onclick = myClick;
    }
}
function myClick(e){
    window.location = this.rel;
    return false;
}

工作示例:http://www.jsfiddle.net/bsU8n/

【讨论】:

  • 不太了解,也没有工作(我猜)我想要的只是更改网页中的所有链接(无论它们是写在代码中还是页面为用户生成它们)用于收缩的 URL
猜你喜欢
  • 2011-01-17
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 2015-04-30
  • 2013-02-04
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多