【问题标题】:How can i hide the image path on hover using javascript or jquery如何使用 javascript 或 jquery 隐藏悬停时的图像路径
【发布时间】:2013-07-15 13:35:59
【问题描述】:

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

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

【问题讨论】:

  • 我猜你点击图片会得到放大版?只有悬停的链接才会在左下角显示路径。
  • 你想完成什么?是审美问题还是安全问题?
  • 我可以右键单击图像并获取路径。希望您不要试图隐藏“安全”的网址

标签: javascript jquery html browser


【解决方案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 进行导航。

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

【讨论】:

  • 你的答案和我的一样
  • 不,不是。您没有提到可以在不更改 HTML 的情况下使用 javascript 删除 href。此外,您没有提到 f.ex Flickr 使用的占位符技术。我认为这些是 OP 的有用替代方案。如果您要投反对票,请不要根据您的个人意见进行投票。
  • 我真的希望 SO 有一个忽略选项可以像你一样静音 ppl。
【解决方案2】:

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

<script>
function changeLocation(url){
   window.location.assign(url);
}
</script>
<a onClick = "changeLocation('http://www.w3schools.com')">Link</a>

【讨论】:

  • 事件应该总是小写的“onclick”而不是“onClick”
【解决方案3】:

您可以通过调用在浏览器中打开图像 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');
});

编辑

但“标准”行为的其余部分也会丢失,例如在新标签中打开,复制链接,搜索引擎抓取。

【讨论】:

    【解决方案4】:

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

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

    我们可以在 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");
    }
    

    对你有帮助。

    【讨论】:

    • 您好,感谢您的回复。我这样做是为了纯 html 和 js/jquery 而不是 asp
    【解决方案5】:
    <a onclick="window.open('http://whatever', '_self');"><img bla bla bla ></a>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-10
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      相关资源
      最近更新 更多