【问题标题】:Open external links in WordPress in an iFrame在 iFrame 中打开 WordPress 中的外部链接
【发布时间】:2015-12-27 03:17:48
【问题描述】:

我想在 iframe 中打开所有外部链接,例如 digg/themeforest.net 我网站上的大多数帖子都会将用户重定向到外部链接,因此我想使用这种方法。我已经搜索了很多,但找不到我正在寻找的答案。请帮我完成这件事。 谢谢你。 我正在寻找的解决方案是

<a href="http://stackoverflow.com/posts/34472898/">Question</a>

点击链接时,如果是外部链接,则在 iFrame 中加载

【问题讨论】:

  • @Armen 如何在 WordPress 上实现这个?正如我所说,每当用户单击我的帖子标题时,他/她都会被重定向到外部站点。我想处理。

标签: php wordpress


【解决方案1】:

假设你的 iframe 有 id your-iframe

var $iframeSelector = $("#your-iframe");

var currentDomain = document.location.protocol + '//' + document.location.hostname;
var outboundLinks = 'a[href^="http"]:not([href*="' + currentDomain + '"])';

$(document).on('click', outboundLinks, function(){
  $iframeSelector.attr('src', $(this).attr('href'))
});

只需在加载 DOM 后将其添加到任何 javascript(在 $(document).ready(function(){... }) 块中)

【讨论】:

    【解决方案2】:

    首先你需要检查你的锚的href是外部的还是内部的,如果是外部的然后在iframe中加载它

    var comp = new RegExp( "your_site_url" );
    var http_regez = new RegExp( "http" ); // for http:// and https://
    var www_regez = new RegExp( "www" );
    
    jQuery('a').click(function(event){
        var href_val = jQuery(this).attr('href');
        var is_external = false;
       if(comp.test(href_val)){
           is_external=false;
       }
       else if( http_regez.test(href_val) || www_regez.test(href_val) ){
           is_external=true;
       }
       else{
           is_external=false;
       }
       if(is_external){
            event.preventDefault();
            jQuery("#externalLinkIframe").attr('src',href_val);
            return false;
       }
    });
    

    【讨论】:

    • 好吧...外部 iframe 呢?如何将我的 iframe 与此脚本连接?
    • @Jerry 我没有收到您的问题,您是否遇到“X-Frame-Options 拒绝加载”错误?然后在 iframe 之前使用header("X-Frame-Options: GOFORIT");。如果您有任何其他问题,请发表评论。
    猜你喜欢
    • 2018-01-30
    • 2012-06-27
    • 1970-01-01
    • 2018-05-05
    • 2012-08-15
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多