3

任何知道答案的人请给我建议这样做。我正在使用 mozilla firefox 浏览器,当我将图像悬停时,我会得到它所在位置的 url 路径(mozilla 的左下角)这是截图: 在此处输入图像描述

是否可以隐藏href路径。任何建议都会很棒。

4

5 回答 5

1

我认为如果您删除 href 属性,并添加 onClick = "location('your url')" 它将隐藏 href 路径。例如:

<script>
function changeLocation(url){
   window.location.assign(url);
}
</script>
<a onClick = "changeLocation('http://www.w3schools.com')">Link</a>
于 2013-07-15T13:43:19.167 回答
1

假设状态栏显示 href 目标,您可以删除href属性 onload 并调用 window.location onclick 代替:(jQuery):

$(function() {
    $('a[href]').each(function() {
        var href = this.href;
        $(this).removeAttr('href').css('cursor','pointer').click(function() {
            window.location = href;
        });
    });
});

请注意,即使没有该属性,我也添加cursor:pointer了它以使其表现得像一个链接。href在移动网站上经常使用相同的技术来防止移动 safari 在通过 ajax 导航时下拉其地址栏。

另一种更笨拙的方法是在锚点顶部添加一个占位符 div,以获取锚点的 href 并使用 window.location onclick 进行导航。

无论哪种方式,快速查看源或控制台都会显示目的地。

于 2013-07-15T16:00:54.010 回答
0

您可以通过调用在浏览器中打开图像 url 的 click 方法来做到这一点(url 存储在data-href而不是href):

http://jsfiddle.net/mattydsw/TYSnB/

<a data-href="http://somewhere.com">new</a>

$('a[data-href]').on('click', function(e) {
    e.preventDefault();
    window.location.href = $(this).data('href');
});

编辑

但也将丢失“标准”行为的其余部分,例如在新选项卡中打开、复制链接、搜索引擎爬行。

于 2013-07-15T13:46:48.373 回答
0

我看到你已经得到了一个答案,但是如果你想在点击时在新的弹出窗口/窗口中打开那很好,但如果你想在同一页面中打开那会发生什么?另外,如果您使用母版页并单击类似这个新页面的链接在内容占位符区域加载,会发生什么?

如果你愿意,我有一个解决方案。

我们可以在 global.asax 页面中使用 system.webrouting.routecollection 来隐藏所有或任何页面,见下面的例子:

void Application_Start(object sender, EventArgs e)
    {      
        RegisterRoutes(System.Web.Routing.RouteTable.Routes);
    }

void RegisterRoutes(System.Web.Routing.RouteCollection routes)
    {
        routes.Clear();
        routes.MapPageRoute("page1", "dir1/{country}/{State}", "~/page1.aspx");
}

这对你会有帮助。

于 2013-07-15T13:47:28.457 回答
-1
<a onclick="window.open('http://whatever', '_self');"><img bla bla bla ></a>

编辑:请注意,它可能不适合引用,因为这不是建立链接的自然方式,机器人不会爬过它。

于 2013-07-15T13:39:44.950 回答