【问题标题】:Open links in new window with toolbar at the top - like reddit.com toolbar在新窗口中打开链接,顶部有工具栏——比如 reddit.com 工具栏
【发布时间】:2011-02-02 11:37:27
【问题描述】:

所以我希望能够使用 jquery 或类似的东西来强制所有外部链接成为

一个。在新窗口中打开(我想我已经涵盖了From Here

$(document).ready(function() {
    $('a[href^="http://"]').filter(function() {
        return this.hostname && this.hostname !== location.hostname;
    }).attr('target', '_blank');  
});

b.在顶部使用自定义工具栏(iframe?)打开(如 reddit 工具栏 imgur.com/76YCS.jpg )

【问题讨论】:

    标签: jquery toolbar reddit


    【解决方案1】:

    我已经设法完全使用 Jquery、Html 和 Css 来做到这一点

    首先,您将工具栏应用于脚本中除外部之外的所有链接,即:global.js

    $("a[href^='http:']").not("[href*='www.YOURDOMAIN.com']").each(function(){ 
        var tempurl = 'http://www.YOURDOMAIN.com/thebar/thebar.html?iframe=';
        var $this = $(this);
       // We grab the current href here, and then combine it with the bar url
        var currenturl = this.getAttribute("href");
        var href = tempurl + currenturl;
        $this.attr('href', href ); 
    });
    

    iframe 的所有代码都可以在线获得,如果需要,我可以在这里发布。 (只是很多)

    【讨论】:

    • 嘿伙计,有兴趣做你想做的事,你有机会粘贴 iframe 代码的链接吗?谢谢
    【解决方案2】:

    在实施方面,您实际上无法链接到外部站点并添加工具栏。

    Reddit 通过将外部链接重写为附加哈希的内部链接来实现此目的。哈希存储在他们的数据库中并用作标识符。当一个链接被访问时,一个框架集与工具栏一起加载到一个框架中,并且该哈希对应的外部 URL 被加载到主框架中。

    如果您查看屏幕截图,您会看到 URL 是 reddit.com/tb/bk40q

    确实,这不是一个最适合在客户端处理的问题。

    【讨论】:

    • 亚历克斯,感谢您的回答。我已经尝试搜索教程或其他东西以达到相同的效果,但我担心我不知道到底该怎么称呼它。我会尝试一些搜索。感谢您的信息!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2012-02-18
    相关资源
    最近更新 更多