使用通过链接传递的数据个性化页面内容

时间:2017-05-23 21:58:44

标签: javascript jquery html

我正在为数字广告系列构建一个页面,我想根据在那里推荐用户的人来个性化该页面的内容。

例如,A向B发送指向此页面的链接,我在其仪表板上自动生成A发送的链接。当B点击链接时,我希望页面标题说“嘿,A在这里推荐你”

我知道解决这个问题的方法可能很简单,但我对web dev还不是很棒。我如何

  1. 通过链接传递此信息?
  2. 收集页面上的信息并将其作为内容的一部分放入?
  3. 期待有关最有效实施的建议

1 个答案:

答案 0 :(得分:1)

理论

您可以使用网址参数通过网址将信息传递到网页。这种发布数据的方法称为GET

例如,请使用以下网址:

example.com?key1=val1&key2=val2

您可以使用语法key=value发送任意数量的参数(注意,值不包含在引号中),并使用&分隔每个参数。您必须在URL和参数之间加上一个问号。

的JavaScript

然后,您可以使用以下JavaScript代码检索URL参数。在页面开头插入以下内容。

//To get Query Strings with JS 
var urlParams; 
(window.onpopstate = function () {
    var match,
    pl = /\+/g, // Regex for replacing addition symbol with a space
    search = /([^&=]+)=?([^&]*)/g,
    decode = function (s) {
        return decodeURIComponent(s.replace(pl, " "));
    },
    query = window.location.search.substring(1);
    urlParams = {};
    while (match = search.exec(query))
        urlParams[decode(match[1])] = decode(match[2]);
})();

要获取URL参数的值,请执行以下操作:

var x = urlParams.key1; // x will be "val1"

PHP

要使用PHP检索URL参数,它要简单得多。您不需要像使用JavaScript一样在页面开头添加任何代码,因为它是PHP的内置功能。只需执行以下操作:

$x = $_GET["key1"]; // $x will be "val1"

实践

在您的情况下,您可以为用户Albert显示网址,他的唯一共享网址可能是

example.com?sender=Albert

在你的网站上你可以放

<script>
    if (urlParams.hasOwnProperty("sender")) {
        document.write("Hey, " + urlParams.sender + " reffered you here!");
    }
</script>