使用Javascript include将URL参数传递给脚本

时间:2015-04-18 10:47:49

标签: javascript php

我正在尝试创建一个可以包含在任何页面上的javascript跟踪器,它会将URL中的变量“ref”和“aff”传递给执行跟踪的PHP代码。

此代码非常适合我在PHP页面上的用途:

<script type="text/javascript" src="//www.foo.com/reftracker.php?ref=<?= $_GET['ref'] ?>&amp;aff=<?= $_GET['aff'] ?>">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.foo.com/reftracker.php?ref=<?= $_GET['ref'] ?>&amp;aff=<?= $_GET['aff'] ?>"/>
</div>
</noscript>

问题是我还需要将跟踪器添加到非PHP页面,因此我需要一个纯Javascript解决方案将这些URL参数传递给src属性。

[编辑]

对于任何有兴趣的人,这是我最终的解决方案:

<script type="text/javascript">
    function fooParamParse(val) {
        var result = '', tmp = [];
        location.search.substr(1).split("&").forEach(function (item) {
            tmp = item.split("=");
            if (tmp[0] === val) result = decodeURIComponent(tmp[1]);
        });
        return result;
    }

    var script = document.createElement('script');
    document.getElementsByTagName('head')[0].appendChild(script);
    script.src = "//www.foo.com/reftracker.php?ref="+fooParamParse('ref')+"&amp;aff="+fooParamParse('aff')+"";
</script>

1 个答案:

答案 0 :(得分:2)

你需要一个纯粹的JavaScript解决方案。 Read here on how to read the GET parameters from url in javascript

然后添加以下js代码

var script = document.createElement('script');
document.getElementsByTagName('head')[0].appendChild(script);
script.src = "//www.foo.com/reftracker.php?ref="+GET['ref']+"&amp;aff="+ GET['aff']+"";
// assuming the GET parameters from javascript are stored in a hash GET