javascript 在着陆页中动态包含关键字
Javascript to Dynamically Include Keywords in Landing Page
首先,让我为在这里完全是新手而道歉。13年前,我上了一门Javascript课程,似乎已经忘记了大部分内容。无论如何,我在网上找到了一些代码,可以在我们的页面上动态包含通过我们的 Google 广告的 URL 发送的关键字。我正在使用Jimdo创建一个免费网站,它们允许您将代码添加到正文中,但不确定是否可以添加到Head中。无论如何,当我将下面的代码添加到正文时,没有任何反应。为了工作,应该在哪里以及如何放置此代码?
示例:http://www.yourdomain.com?utm_term={keyword}
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split(“&”);
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split(“=”);
if (pair[0] == variable) {
return pair[1];
}
}
}
searchTerms = getQueryVariable(‘utm_term’);
if (searchTerms.length != 0) {
searchTerms = searchTerms.replace(/+/g, ” “);
searchTerms = unescape(searchTerms);
document.write(“<h1>This headline is about ” + searchTerms + “</h1>”);
}
else {
document.write(“<h1>This headline is generic.</h1>”);
}
这是小提琴: http://jsfiddle.net/dnd4kepr/
有两个问题:
-
单/双左/右引号 (
“&”
)(或花哨的引号)抛出异常。你会想用你的普通简单/双引号 ("&"
) 替换那些坏男孩。 -
一旦花哨的报价被替换,就会因正则表达式而抛出异常。你会想要像这样转义
+
角色:searchTerms = searchTerms.replace(/'+/g, ' ');
完成这两件事后,脚本开始工作!
<script type="text/javascript">
//<![CDATA[
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i=0; i<vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] == variable) {
return pair[1];
}
}
}
searchTerms = getQueryVariable('utm_term');
if (searchTerms.length != 0) {
searchTerms = searchTerms.replace(/'+/g, ' ');
searchTerms = unescape(searchTerms);
write('<h1>This headline is about' + searchTerms + '</h1>');
}
else {
write('<h1>This headline is generic.</h1>');
}
}, false)
//]]>
</script>
看看!
(function() {
'use strict';
function getParameterByName(name) {
name = name.replace(/['[]/, "''[").replace(/[']]/, "'']");
var regex = new RegExp("[''?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/'+/g, " "));
}
var terms = getParameterByName('utm_term')
var h1 = document.createElement('H1');
/*
or if you want to hook to existing el
var h1 = document.getElementByTagName('h1');
if there is only one `h1` on the page
and remove document.body.appendChild(h1) at the end
*/
if (terms) {
var searchTerms = terms.replace(/'+|',/g, " "); // not sure how you want to format
h1.innerText = "This headline is about " + searchTerms;
} else {
h1.innerText = "This headline is generic."
}
document.body.appendChild(h1);
})();
您的 html 中已经有<h1>
了吗?如果是这样,那么你应该用jquery或vanilla js访问它,然后在那个el上做innerText
。让我知道,我会编辑我的答案。
相关文章:
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使用Ember将动态分段的值输出到页面上
- Angular 2中登录页上的动态后退链接
- 使用setIntervel()以动态高度偏移具有固定页眉的页面上的内容
- Jquery手机单页app+视频+动态变化视频
- 根据页眉和页脚高度更改高度的动态内容
- 如何动态更改页眉和页脚
- javascript 在着陆页中动态包含关键字
- 目录和动态分页PHP
- 根据角度范围值动态更改分页页面大小
- 单页,滚动网站与固定的动态页脚
- 谷歌图表与动态数据和分页是可能的
- angularjs html中动态表的分页
- 粘性页脚镀铬不适用于动态内容
- Dojo中的动态内容单页应用程序
- AngularJS 服务器端排序与分页 - 动态值
- 分页动态加载的 Webix 树节点
- 如何将正确的变量传递给JqueryMobile多页动态创建的html文件中的FB.ui脚本
- 在一个HTML页面中输入值,另一个HTML页动态显示它,每次都没有新的值
- 使用AJAX为单页动态网站设计和SEO