根据网址动态更改页面内容

时间:2013-06-03 08:35:39

标签: javascript url dynamic insertion

是否可以根据网址更改网页上的内容?

例如,当有人访问时:

example.com/dyanmictextpage.html/?utm_source=google&utm_campaign=dynamictext&utm_term=hello-world

我想更新页面上的特定文本,然后说“Hello World”,它基于“utm_term = hello-world”下URL的最后部分

代码需要自动插入“utm_term =”之后的任何内容并删除连字符并将每个单词的首字母大写.....

你知道怎么做?

2 个答案:

答案 0 :(得分:1)

var message = '';

var query = document.location.search.substring(1); // Remove leading '?'
var params = query.split('&');

// Get 'utm_term' from the request parameters
for (var i = 0; i < params.length; i++) {
   var key = params[i].split('=')[0];
   if (key === 'utm_term') {
      message = params[i].split('=')[1];
      break;
   }
}

if (message.length > 0) {
   // Split the message by words and capitalize the first letter of each word
   var words = message.split('-');
   for (var i = 0; i < words.length; i++) {
      words[i] = words[i].charAt(0).toUpperCase() + words[i].substring(1);
   }

   // Finally, put the message to HTML (say, to element with id="message")
   document.getElementById('message').innerHTML = words.join(' ');
}

答案 1 :(得分:0)

你可以 - 一个好的起点就是把你的问题分解成更小的问题,然后逐个解决。

您需要做的第一件事是从URL获取查询字符串值(即utm_term = hello-world):

How can I get query string values in JavaScript?

一旦你有了这些,你需要动态替换连字符之类的东西,这样你就可以将数据加工成你想要的格式:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FString%2Freplace

完成后,您可以将内容注入页面。我会留下那一点让你抬头看。