结合两个javascripts

时间:2013-03-31 01:40:43

标签: javascript internet-explorer

我找到了两个我想要结合的javascripts。

第一个:

<script type="text/javascript">            
function checker(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
checker("http://check");
</script>

那个人做的是在IE中传递引用

第二个:

<script language="JavaScript">
if (document.referrer.indexOf('somesite.com') > -1)
location.href='http://promo.com/';
else
location.href='http://mysite.com';
</script>

上面的代码会检查用户发送的位置,如果他们来自他们来自的网站。我试图将它们组合成一个脚本。所以我认为这会奏效:

<script type="text/javascript">
if (document.referrer.indexOf('somesite.com') > -1)
function check(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
check("http://check");
else
location.href='http://mysite.com'
</script>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您不能在if语句中放置函数定义。首先放置函数定义,然后然后 if语句:

function check(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
if (document.referrer.indexOf('somesite.com') > -1)
    check("http://check");
else
    location.href='http://mysite.com'