我们已经得到了客户的认可,只是以任何方式为我提供保障。
如果在他们的计算机上看到cookie,我们需要修改客户端站点中的一些代码,客户端的站点是ASPX格式。我已经创建了代码的第一部分,但是我遇到的问题是:
我需要删除页面正文的最后2000个字符(左右),然后将新的HTML附加到其中。
我试过了:
$('body').html().substring(0, 10050)
但是这不起作用,我也尝试复制那个HTML(确实有用)并用新代码把它放回去,但它创建了一个运行脚本的循环。
有关我应该做什么的任何建议?遗憾的是它必须是javascript / jQuery。
////////编辑////////////
我的脚本由Google跟踪代码管理器引入,并添加到底部的页面,然后我的脚本运行,这是导致脚本循环的原因。基本上,这是设置:
我的服务器上的我的脚本使用Google跟踪代码管理器加载到客户端站点,添加到页面底部。从那里可以执行,但是当这样做时,它会创建一个添加Google跟踪代码管理器脚本的循环,导致我的代码重新添加,导致它再次重新执行。
客户不愿意做任何事情,他几乎告诉我们要弄清楚,并且不要让他的网络人员参与其中。
这是我试图编辑的网站上的代码。
<script language="JavaScript">
jQuery(function($){
$('#txtPhone').mask('(999) 999-9999? x99999');
$('#submit').click(function(){CheckForm();});
});
function CheckForm(theForm){
if (!validRequired($('#txtfirst_name'),'First Name')){ return false; }
if (!validRequired($('#txtlast_name'),'Last Name')){ return false; }
if (!validRequired($('#txtEmail'),'E-Mail Address')){ return false; }
if (!validEmail($('#txtEmail'),'E-Mail Address',true)){ return false; }
if (!validPhone($('#txtPhone'),'Phone Number')){ return false; }
var dataList='fa=create_lead';
dataList += '&name=' + $('#txtfirst_name').val();
dataList += '&lastname=' +$('#txtlast_name').val();
dataList += '&email=' + $('#txtEmail').val();
dataList += '&phone=' + $('#txtPhone').val();
dataList += '&vid=' + dealerOnPoiVisitId;
dataList += '&cid=' + dealerOnPoiClientId;
dataList += '&leadType=9';
dataList += '&leadSrc=32'; ////////////////////// THIS IS WHAT I AM ATTEMPTING TO CHANGE /////////////////////////
dataList += '&contactname=' + $('#contactname').val();
dataList += '&comment=' + encodeURIComponent($('#txtComments').val());
dataList += '&dvc=' +encodeURIComponent(DealerOn_Base64.encode($('#txtfirst_name').val() + $('#txtEmail').val()));
var lid=1;
$('#submit').prop('disabled', true);
$.ajax({
url:'/lead.aspx',
data: dataList,
dataType: 'json',
success: function(data){
$('#submit').prop('disabled', false);
lid=data.leadid;
if (lid > 1){
$('#submit').prop('disabled', false);
var jqxhr = $.post('/lead.aspx?fa=complete_lead&leadid=' + lid , function() {
window.location.href='/thankyou.aspx?name=' + $('#txtfirst_name').val() + '&lid=' + data.leadid;
});
}
},
error: function(request,error) {
$('#submit').prop('disabled', false);
}
});
}
</script>
这是网站上的页面:www.moremazda.com/contactus.aspx
答案 0 :(得分:1)
您必须添加HTML:
var html = $('body').html().substring(0, 10050);
$('body').html(html);
请注意,执行此操作,只是随机删除HTML块并不是一种好习惯,并且可能会导致许多问题。
答案 1 :(得分:0)
从技术上讲,你应该可以这样做:
var bodyHTML = $('body');
bodyHTML.html(bodyHTML.html().substring(2000));
但正如我在上面的评论中指出的那样,这是一个非常糟糕的想法。
如果您可以访问页面的HTML,请将要替换的代码包装在可识别的标记中并将其删除。即:
<div id="tobeRemoved">Lorem Ipsum</div>
<script>
$('#toBeRemoved').empty();
</script>
如果您无法编辑HTML,但您知道它始终是最后一个script
标记,则可以执行以下操作:
var scripts = $('script');
scripts.get(-1).remove;