简体   繁体   中英

Pass URL parameters to script using Javascript include

I'm trying to create a javascript tracker that can be included on any page, that will pass the variables "ref" and "aff" from the URL to the PHP code that does the tracking.

This code works perfectly for my purposes on PHP pages:

<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>

The issue is that I also need to add the tracker to non-PHP pages, so I need a pure Javascript solution to pass those URL parameters into src attributes.

[EDIT]

For anyone interested, here is the solution I ended up with:

<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>

You will need a pure javascript solution for that. Read here on how to read the GET parameters from url in javascript

Then add the follwing js code

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM