0

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

1 Answer 1

2

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
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you. Added solution to the OP.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.