【问题标题】:Link from other site should open the first link of the site来自其他站点的链接应该打开该站点的第一个链接
【发布时间】:2015-04-23 08:35:37
【问题描述】:

看看下面的网站,稍后会删除它:-

[职业页面][1]

在这个页面上,如果我来自 Facebook/Linked in 等其他网站,它应该是这样的:-

![图 1][2]

如果我从同一个站点访问,它应该如下所示:-

这是我与此相关的 JS 代码。请提出建议:-

function pageLoad() {
        $("#careerdiv").accordion({              
            collapsible: true,
            autoHeight: false,
            active: false
        });

        $("a#various15").fancybox({
            'width': 720,
            'height': 390,
            'autoScale': false,
            'transitionIn': 'elastic',
            'transitionOut': 'elastic',
            'type': 'iframe',
            'speedIn': 600,
            'speedOut': 400,
            'overlayShow': true,
            'overlayOpacity': 0.8,
            'overlayColor': '#000',
            'padding': '0px',
            'onComplete': function () { $('.closer').click(function () { parent.$.fancybox.close(); }) }
        });
    }

请提出建议

【问题讨论】:

    标签: javascript c# jquery asp.net


    【解决方案1】:
    if (document.referrer.indexOf('facebook.com') > -1) {
      // do something for visitors from facebook here
    }
    

    【讨论】:

    • 在哪里添加此代码??以及它是如何按照我的第一张图片打开的?
    • 在您的 pageLoad() 函数中,可能......至于如何控制手风琴自动打开,您应该查看该插件的文档以获得该答案。可能是 active 字段,但我只是猜测。
    • 您能否编辑您的回答帖子并让我知道,以便我可以在我的网站上查看它是否有效?
    • 我不明白,您要我为您阅读手风琴插件的文档吗?您可以在这里找到它:api.jqueryui.com/accordion如果您不想花任何精力学习,那么我不想花任何精力帮助您。
    • @Nadeem 正如 Hamza 提到的那样,肯定有一个 api 函数,当然你也可以在打开手风琴的元素上调用 .click()
    【解决方案2】:

    您可以使用document.referrer。这是一个人为的例子:

    $(document).ready(function() {
       var referrer =  document.referrer;
       if(referrer.match(/stackoverflow.com/i)){ // change this to the name of your site
         $('#targetDiv').show(); // change this line as needed for you actual page
       }
       else{     
         $('#targetDiv2').show(); // remove this line for you actual page
         // $('.ui-accordion-header').eq(0).click(); // uncomment this line for your actual page
       }
    });
    .none{
      display:none;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="targetDiv" class="none">You see this, so you came from SO</div>
    <div id="targetDiv2" class="none">You see this, so you came from a site other than SO</div>

    【讨论】:

    • 感谢回复,如果页面的第一个div来自其他网站而不是同一个网站,如何打开?
    【解决方案3】:

    你只需要检查referrer是否来自fb || li 并打开手风琴编号 1 我猜:

    if( document.referer ){
        $("#careerdiv").accordion({              
            collapsible: true,
            autoHeight: false,
            active: 1
    } else {
        $("#careerdiv").accordion({              
            collapsible: true,
            autoHeight: false,
            active: false
        });     
    }
    

    【讨论】:

    • 是的,我想要那个。但在你的两个条件相同的情况下,如果是if( document.referrer.indexOf('facebook.com') &gt; -1 || document.referrer.indexOf('linkedin.com') &gt; -1 ){,我想要第一张图片
    • 你可以把if语句改成if( document.referer != "" ) ..,然后显示active: 1是你想要的吗?
    • 是的,但是如果我从同一个站点访问它会打开手风琴
    • 如果您转到(单击徽标)主页并返回该页面,推荐人不会改变..会话打开时它是持久的..尝试在隐身窗口中打开页面
    • 从他们那里试过,如果我从同一个站点访问它仍然可以打开
    【解决方案4】:

    能否请您更改以下代码:

    $("#careerdiv").accordion({              
        collapsible: true,
        autoHeight: false,
        active: false
    });
    

    使用以下内容(其中主机检查取自here):

    if( document.referrer.indexOf(location.protocol + "//" + location.host) === 0){ 
                    $("#careerdiv").accordion({              
                        collapsible: true,
                        autoHeight: false,
                        active: false
                    });
                } else{
                    $("#careerdiv").accordion({              
                        collapsible: true,
                        autoHeight: false,
                        active: 0
                    });
                }
    

    检查引用者是否是您自己的主机并激活第一个具有索引0(从零开始的索引)的手风琴。记得在服务器上测试一下。

    【讨论】:

    • 是的,肯定会从办公室检查。现在我在甜蜜的家..保重
    • Wooer:我想,我用 2 个条件测试了链接。 1)从我的网站和 2)从其他(Facebook)网站,它工作正常。让我和测试人员确认一下。
    • Wooer:你是他们的吗??
    • 是的,测试者也测试了,现在给客户端测试。
    猜你喜欢
    • 1970-01-01
    • 2022-10-24
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 2012-10-28
    • 1970-01-01
    相关资源
    最近更新 更多