如何从函数内部的URL调用外部javascript

时间:2015-09-21 06:28:28

标签: javascript

我会尝试让我之前的问题更加清晰。

所以我必须使用标签从我的CPA网络提供CPA。

<script type="text/javascript" src="https://megadownloder.com/script_include.php?id=372715"></script>

<script type="text/javascript" src="https://megadownloder.com/script_include.php?id=372716"></script>

现在,我希望它在用户点击下载按钮时随机调用并在两者之间进行选择。

示例场景:

当用户点击下载按钮时,将调用<script type="text/javascript" src="https://megadownloder.com/script_include.php?id=372715"></script>

当新用户再次点击下载时,<script type="text/javascript" src="https://megadownloder.com/script_include.php?id=372716"></script>会显示。

以ramdom的方式。

我希望我明白我的问题,你们可以帮助我。非常感谢你。

2 个答案:

答案 0 :(得分:1)

只需给脚本标记一个id,然后读取src属性。 使用最后一个字符的切片,并再次向字符串添加5 +(0或1随机)。 因此结果将是372715372716作为ID。

如果没有活动的JS,src仍然有效,但只有这个ID:372715

作为旁注:
这不适用于您的情况。操作脚本src属性的时间已经加载了脚本。所以你应该在服务器端这样做。

var dlScr = document.getElementById('dl-script');
dlScr.src = dlScr.src.slice(0, -1) + (5+Math.round(Math.random()));
<script id="dl-script" type="text/javascript" src="https://megadownloder.com/script_include.php?id=372715"></script>

答案 1 :(得分:0)

您只需要使用Math.round将其四舍五入。 Math.random将为您提供01之间的数字。对其进行舍入将确保它为01。之后你可以在if语句中使用它,因为0false,而1 - 而实际上并非0的所有内容都是true,数字的情况。通过否定,您可以改为true / false!(Math.round(Math.random())),当然是以相反的顺序,但因为它是随机的,所以无所谓。但是,如果这令您感到困扰,只需添加额外的!来再次否定它,例如:!!(Math.round(Math.random()))

但如果您需要两个以上的结果,只需将Math.random乘以结果数减一。例如,对于三种方式,您可以使用:Math.round(Math.random() * 2)。但是你必须在你的例子中使用if语句。

如果你需要1或2作为结果,只需在随机数中添加一个,如:Math.round(Math.random() + 1)。这将返回12

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
    function chose() {

        // Rounding up like: Math.round(Math.random()).
        // Will return 0 or 1.

        // By negating you could get true/false instead:
        // !(Math.round(Math.random()))
        // !0 > true
        // !1 > false

        // For a three way (or more) random switch use:
        // Math.round(Math.random() * [ways - 1]).
        // Will return 0, 1 or 2.

        // For a case where you want 1 or 2 as results:
        // Math.round(Math.random() + 1).
        // Will return 1 or 2.

        return Math.round(Math.random() + 1);
    }

    function GetResult() {
        if ( chose() === 1 ) {
            OfferOne();
        } else { 
            OfferTwo();
        }
    }

    function loadScript ( id ) {
        $('<scr'+'ipt type="text/javascript" src="https://megadownloder.com/script_include.php?id=' + id +'"></scr'+'ipt>').appendTo(document.head);
    }

    function OfferOne() {
        loadScript(1000000);
    }

    function OfferTwo() {
        loadScript(2000000);
    }
</script>

如果您的代码使用document.write()并且您不希望它在DOMReady之后调用覆盖整个页面,那么为了安全起见,请将整个脚本置于<head>之内,并使用相反,这个loadScript函数,以确保同步!

<script> 
    function loadScript ( id ) {
        document.write('<scr'+'ipt type="text/javascript" src="https://megadownloder.com/script_include.php?id=' + id +'"></scr'+'ipt>');
    }
</script>