在新窗口中打开链接,工具栏位于顶部 - 就像 reddit.com 工具栏一样

发布于 2024-08-27 10:47:47 字数 472 浏览 8 评论 0原文

所以我希望能够使用jquery或类似的工具来强制所有外部链接都是

a。在新窗口中打开(我想我已经涵盖了从这里开始 )

$(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 )

So I want to be able to use jquery or similar to force all external links to be

a. Opened in a new window (I think I have this covered From Here )

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

b. Opened with a custom toolbar (iframe?) at the top (like the reddit toolbar imgur.com/76YCS.jpg )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄人书 2024-09-03 10:47:47

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

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

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

实​​际上,这不是最适合在客户端处理的问题。

In terms of implementation you can't actually link out to an external site and add a toolbar.

Reddit achieve this by rewriting their external links to an internal link with a hash appended. The hash is stored in their database and used as an identifier. When a link is visited a frameset is loaded up with the toolbar in one frame and the corresponding external URL for that hash is loaded into the main frame.

If you look on your screenshot you can see the URL is reddit.com/tb/bk40q

Really this isn't a problem best suited to be handled on the client-side.

明月松间行 2024-09-03 10:47:47

我已经成功地完全使用 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 的所有代码都可以在线获取,我可以在此处发布。 (只是很多)

I've managed to do this entirely using Jquery, Html and Css

First You apply the toolbar to all the links except external in your script ie: 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 ); 
});

All the code for the iframe is available online if required I can post here. (it is just a lot)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文