Javascript从浏览器中隐藏url并在lightbox iframe中打开

Javascript从浏览器中隐藏url并在lightbox iframe中打开,javascript,iframe,lightbox2,Javascript,Iframe,Lightbox2,我有以下javascript来隐藏URL。。这个很好用 <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script> <script> $(function(){ $("a.hidelink").each(function (index, element){ var href = $(this).attr("href");

我有以下javascript来隐藏URL。。这个很好用

<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
<script>
    $(function(){
        $("a.hidelink").each(function (index, element){
            var href = $(this).attr("href");
            $(this).attr("hiddenhref", href);
            $(this).removeAttr("href");
        });
        $("a.hidelink").click(function(){
            url = $(this).attr("hiddenhref");
            window.open(url, '_blank');
        })
    });
</script>
<style>
    a.hidelink {
        cursor: pointer;
        text-decoration: underline;
    }
</style>
<style>
    a.hidelink {
        cursor: pointer;
        text-decoration: underline;
    }
</style>

$(函数(){
$(“a.hidelink”)。每个(函数(索引,元素){
var href=$(this.attr(“href”);
$(this.attr(“hiddenhref”,href);
$(this.removeAttr(“href”);
});
$(“a.hidelink”)。单击(函数(){
url=$(this.attr(“hiddenhref”);
打开(url,“U空白”);
})
});
a、 希德林克{
光标:指针;
文字装饰:下划线;
}
a、 希德林克{
光标:指针;
文字装饰:下划线;
}
我的问题:

问题:我正在为wordpress的会员网站制作表单。会员插件无法保护html页面,因为无法通过媒体上传添加html页面

我希望添加在lightbox iframe内打开链接的功能。。这是我追求的最终结果:

目前,上面的脚本将完成一半的工作,即在链接上方悬停时隐藏URL,但将在新的浏览器选项卡中打开,URL处于全视图。如果我可以打开lightbox iframe中的链接,则不会显示目标URL


有人能帮忙吗。

这是一种错误的方法。为什么要隐藏url

可以在前端和后端设置允许的扩展


Html文件可以在iframe中查看。这就是全部。当然,使用Lightbox、Fancybox等进行良好的设计。

您可以将哈希添加到当前url,这只是为了可见性

$("a.hidelink").click(function(){
      url = $(this).attr("hiddenhref");
      window.location.hash="url=" + url 
      window.open(url, '_blank');
})
编辑 如果您想在iframe中打开链接,只需要像这里这样设置新的src。和window.location.hash,帮助您从代码和地址栏操作iframe url

<iframe id="iframe1" src="target.html"></iframe>

  $("a.hidelink").click(function(){
       var url = $(this).attr("hiddenhref");
       window.location.hash="url=" + url 
  })

$(window).bind('hashchange', function() {
   var hash = window.location.hash;
   if(hash.indexOf("#url=") > -1){
      var url = hash.replace('#url=', '');
       $(#frame1).attr("src",url);
   }
});
或者在fancyBox中打开,在我读到的一篇文章中

Lightbox不做iframes。我推荐Fancybox


嗨,亚历克斯,谢谢你的建议。我应该在哪里向url添加哈希。。我尝试了我能想到的所有组合,但没有任何东西能够隐藏url。。也就是说,它要么在浏览器中用url打开,并在末尾添加一个#,要么根本没有打开(空白)?抱歉,只是不知道如何使用它?1)您可以在iframe中打开URL;2) 您可以在地址栏中更改哈希url;你还想要什么?我明白了。不幸的是,正如我已经提到的,我在这里发布的javascript破坏了在iframe?中打开的功能?。相反,它会在浏览器中打开并显示URL。是的,如果我可以更改链接中的脚本隐藏url并在iframe中打开链接,问题就解决了。我只是不知道怎么做。嗨,亨利,谢谢你的评论。你能提供这方面的步骤吗?我建议媒体库上传可以通过某种方式更改允许的扩展名来包含html页面,对吗?或者你的意思完全是别的?谢谢
  $("a.hidelink").click(function(){
       var url = $(this).attr("hiddenhref");
        $(#frame1).attr("src",url); 
  })
  $("a.hidelink").click(function(){
       var url = $(this).attr("hiddenhref");
       $.fancybox.open({
         padding : 0,
         href: url,
         type: 'iframe'
       });
  })