2013-06-03 406 views
0

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

例如,当有人访问:

example.com/dyanmictextpage.html/?utm_source=google & utm_campaign = dynamictext & utm_term =你好世界

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

代码需要自动插入“utm_term =”后面的任何内容,然后移除连字符和大写每个单词的第一个字母.....

你知道吗?

回答

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(' '); 
} 
0

你可以 - 一个很好的开始就是把你的问题分解成更小的问题,并逐个解决。

你需要做的第一件事是从URL(即utm_term =你好世界)获得查询字符串值:

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

一旦你做到了这一点,你可以注入内容到页面。我会留下那一点让你抬头看。