一个很简单的显示问题 本帖最后由 jianshao810 于 2010-09-07 11:57:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用div隐藏显示 调用函数方法 不是隐藏显示问题。。而是如何加载的问题。我想他点击的时候再加载我原来是这样写的$("#87span").html('<script>document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>< img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a>');但是出错 楼主要不先显示图片,当点击图片的时候出发函数然后再document.write()呢?不知道是不是这个意思 谢谢楼上的。我想要的功能是这样<span><script>document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>< img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a></span>这个直接放到网页上是可以显示的,但是加载非常慢,而且用户不一定需要看到这两个。所以我现在想他点击一个按钮(该按钮是显示这两个东西的)的时候再进行加载。不知道说明白没有。关键是$("#kefuSpan").html('<script type="text/javascript" src="http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '"></script>');这个不知道如何来写 可以在点击选项卡的时候加载内容,用ajax请求。jquery的ajax可以获得script脚本<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>jquery tab 选项卡</title> <meta http-equiv="author" content="hoojo"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="jquery.js"></script> <style type="text/css"> .tab { background-color: mintcream; width: 200px; -width: 205px; height: 200px; margin-left: 200px; } .header { height: 20px; width: 100%; } .content { border: 1px solid #CCCCFF; border-top: none; height: 180px; } .liStyle { cursor: pointer; height: 20px; width: 66px; -width: 61px; float: left; background-color: white; } .show { background-color: mintcream; border: 1px solid #CCCCFF; border-bottom: none; } .hide { background-color: white; border-bottom: 1px solid #CCCCFF; } .ulHide { display: none; } .ulShow { display: block; } ul { list-style: none outside none; } * { margin: 0; padding: 0; } </style> <script type="text/javascript"> $(function () { $(".tab > ul.header > li").click(function () { $(this).parent().find("li.show").addClass("hide").removeClass("show"); $(this).addClass("show").removeClass("hide"); var parentsEl = $(this).parents(".tab"); parentsEl.find("div > ul.ulShow").addClass("ulHide").removeClass("ulShow"); /*页面静态内容*/ var ary = parentsEl.find("ul.header > li"); parentsEl.find("div > ul:eq(" + $.inArray(this, ary) + ")").addClass("ulShow").removeClass("ulHide"); /*用ajax动态加载内容 parentsEl.find("div > ul:eq(" + $.inArray(this, ary) + ")").addClass(function () { var el = this; $.post("TreeDataServlet", {param: "params"}, function (data) { $(el).html(data); }); return "ulShow"; }).removeClass("ulHide");*/ }) }); </script> </head> <body bgcolor="white"> <div class="tab"> <ul class="header"> <li class="liStyle show">Java</li> <li class="liStyle hide">Spring</li> <li class="liStyle hide">Hibernate</li> </ul> <div class="content"> <ul class="ulShow"> Java <li>java javaSE</li> <li>java javaME</li> <li>java javaEE</li> </ul> <ul class="ulHide"> Spring <li>java springMVC</li> <li>java spring aop</li> <li>java spring Ioc DI</li> </ul> <ul class="ulHide"> Hibernate <li>java Hibernate Configuration Transaction</li> <li>java Hibernate Query Criteria</li> <li>java Hibernate Session SessionFactory</li> </ul> </div> </div> <hr/> <div class="tab"> <ul class="header"> <li class="liStyle show">Java</li> <li class="liStyle hide">Spring</li> <li class="liStyle hide">Hibernate</li> </ul> <div class="content"> <ul class="ulShow"> Java.... <li>java javaSE</li> <li>java javaME</li> <li>java javaEE</li> </ul> <ul class="ulHide"> Spring.... <li>java springMVC</li> <li>java spring aop</li> <li>java spring Ioc DI</li> </ul> <ul class="ulHide"> Hibernate.... <li>java Hibernate Configuration Transaction</li> <li>java Hibernate Query Criteria</li> <li>java Hibernate Session SessionFactory</li> </ul> </div> </div> </body></html>本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/IBM_hoojo/archive/2010/07/28/5772017.aspx 谢谢,其实我早用过了 if (id == "infoH3") { //$("#kefuSpan").html('<script type="text/javascript" src="http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '"></script>'); // $("#kefuSpan").html('<a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes><img border="0" SRC="http://wpa.qq.com/pa?p=1:996298362:7" alt="点击这里给我发消息"/></a>'); $.getScript('http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + ''); }我这样写的,他就给我新开一个窗口 $.post("your.js", {param: "params"}, function (data) { $(el).html(data);//this data is script}, "script"); 楼主啊,你在网页上用个图片(随便了),然后给他加个onclick时间,当点击的时候惊醒script的document.write(),我想能够解决楼主的问题 就是如下:<span><b onclick="show()" style="cursor:pointer;color:blue;">WOLAIYE</b><script>function show(){document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");}</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a></span> $.get('http://www.53kf.com/kf.php?arg=aqioo&style=1', null, null, "script");他会转到新页面(页面的url跟原来的意义),这个页面就写着网上客服。请问如何进行修改? o,那就是你请求的script里面可能有移动wondow.location 的跳转代码你在回调函数中得到script,看看回调中的data,将其替换掉看看 谢谢kyzy_yy_pm但是他打开一个新页面,不知道是不是与document.write有关系。。他好像将原来的html全部去掉啦。 document.write是重写本页面,也就是将要写的东西代替本网页的所有东西(如同替换) 这当然算动态加载啊。你用的是jQuery么?用load方法就好。如果想自己实现,参考jQuery里面的globalEval方法。 谢谢支持 $("#kefuSpan").load('http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '', null, function(js) { eval(js); });始终是没成功的 他返回的脚本里包括document.write("<scr"+"ipt src='http://www3.53kf.com/kf_ivt.php?arg=aqioo&style=1&isonline=1&kfonline=1&lang=zh-cn&resize=yes&charset=GBK&kflist=off&kf=&zdkf_type=1&referer="+hz6d_from_page+"&lytype=0&tpl_name=crystal_blue&tpl_width=703&tpl_height=473' type='text/javascript'></scr"+"ipt>");hz6d_con_img=hz6d_html_replace("<img src='http://www3.53kf.com/img/kflogo/line1.gif' border='0' onclick='setIsinvited();window.open(\"http://www3.53kf.com/webCompany.php?arg=aqioo&style=1&kflist=off&kf=&zdkf_type=1&language=zh-cn&charset=GBK&lytype=0&referer={hz6d_keyword}&tpl=crystal_blue\",\"_blank\",\"height=473,width=703,top=200,left=200,status=yes,toolbar=no,menubar=no,resizable=yes,scrollbars=no,location=no,titlebar=no\")' style='cursor:pointer'/>");document.write(hz6d_con_img); document.write("<scr"+"ipt src='http://www3.53kf.com/stat.php?com_id=607557&referer="+hz6d_from_page+"' type='text/javascript'></scr"+"ipt>");这表明了不能异步加载吗? 看这个,替换后,再eval 运行js 加载js,可用dom方式。给你个例子。var obj = document.createElement("script"); obj.type="text/javascript"; obj.src="jquery.layout.js"; document.body.insertBefore(obj);图片也用此方法var img_obj = document.createElement("img");img_obj.src="xxx.png"; var kf_success = 1; var kftype = 2; // 获取cookie值 function hz6d_getCookie(name) { var offset = document.cookie.indexOf(name + "="); if (offset != -1) { offset += name.length + 1; var end = document.cookie.indexOf(";", offset); if (end == -1) { end = document.cookie.length; } return document.cookie.substring(offset, end); } else { return ""; } } var hz6d_from_page = hz6d_getCookie("53kf_"); if (hz6d_from_page == "") { hz6d_from_page = document.referrer; document.cookie = "53kf_=" + hz6d_from_page; } hz6d_from_page = "&keyword=" + escape(hz6d_from_page); function hz6d_html_replace(html) { var pattern = /{hz6d_keyword}/gim; var str = hz6d_from_page + "&tfrom=1"; var hz6d_html = html.replace(pattern, str); return hz6d_html; } // has defined <!DOCTYPE... > function hasdoctype() { var ret = false; try { if (document.compatMode == "BackCompat") ret = false; else if (document.compatMode == "CSS1Compat") ret = true; else ret = true; } catch (e) { ret = false } return ret; } // ie8 = IE8_Partner_Build [2008-12-11] function detectBrowser() { var ret = "ie6"; // default var user_agent = navigator.userAgent; if (user_agent.indexOf("compatible") > -1) { if (user_agent.indexOf("MSIE 6.0") > -1) ret = "ie6" else if (user_agent.indexOf("MSIE 7.0") > -1) ret = "ie7"; else if (user_agent.indexOf("MSIE 8.0") > -1) ret = "ie8"; if (user_agent.indexOf("360") > -1) { ret = "360"; } } else if (user_agent.indexOf("Gecko") > -1) { ret = "firefox"; } if ("" == "TheWorld") { ret = "TheWorld"; } return ret; } // 间距小于步进,则移动间距的距离 function smoothMove(start, end) { var step = Math.abs(end - start); var forword = end - start; if (step > 2) { step = Math.ceil(step * 0.2) * (forword / Math.abs(forword)); } else { step = step * (forword / Math.abs(forword)); } posi = start + step; if (step > 0) { if (posi > end) posi = end; } else { if (posi < end) posi = end; } return posi; } var hasdoctype = hasdoctype(); var browser = detectBrowser(); // 点击图标设置变量 function setIsinvited() { try { onliner_zdfq = 2; if (acc_autotype == 3) { document.cookie = "onliner_zdfq607557=" + onliner_zdfq; } } catch (e) { } } var onliner_zdfq = hz6d_getCookie("onliner_zdfq607557"); //onliner_zdfq: 0.初始值 2.点击接受 3.点击拒绝 if (onliner_zdfq == "") { onliner_zdfq = 0; document.cookie = "onliner_zdfq607557=" + onliner_zdfq; } var hz6d_kf_type = 2; var hz6d_pos_model = 2; var hz6d_hidden = 0; var hz6d_close_icon = 0; document.write("<scr" + "ipt src='http://www3.53kf.com/kf_ivt.php?arg=aqioo&style=1&isonline=1&kfonline=1&lang=zh-cn&resize=yes&charset=GBK&kflist=off&kf=&zdkf_type=1&referer=" + hz6d_from_page + "&lytype=0&tpl_name=crystal_blue&tpl_width=703&tpl_height=473' type='text/javascript'></scr" + "ipt>"); hz6d_con_img = hz6d_html_replace("<img src='http://www3.53kf.com/img/kflogo/line1.gif' border='0' onclick='setIsinvited();window.open(\"http://www3.53kf.com/webCompany.php?arg=aqioo&style=1&kflist=off&kf=&zdkf_type=1&language=zh-cn&charset=GBK&lytype=0&referer={hz6d_keyword}&tpl=crystal_blue\",\"_blank\",\"height=473,width=703,top=200,left=200,status=yes,toolbar=no,menubar=no,resizable=yes,scrollbars=no,location=no,titlebar=no\")' style='cursor:pointer'/>"); document.write(hz6d_con_img); document.write("<scr" + "ipt src='http://www3.53kf.com/stat.php?com_id=607557&referer=" + hz6d_from_page + "' type='text/javascript'></scr" + "ipt>");他函数是这样的。把他贴到vs里是很清晰的,执行就靠最后的document.write();但是他那里也没打开窗口啊。。 是的,如果有document.write不能用异步 了,这个方法会刷新当前文档如果没有的话可以先用$.getScript("scriptsrc",function(){obj.html('<img src...../>');}); sky 好像说中要害啦。我基本可以放弃了。。哭。。花我两个小时啊。。 dom、超链什么的都用了,还是不行 呵呵。现在不是异步加载js问题,js是拿过来啦。但是不知道如何配合来用。他本来就包括了document.write()函数啊 kyzy_yy_pm你也尝试了?就是打开新窗口吗? var loadJs=function(f){var js=document.createElement('script');js.language='javascript';js.type='text/javascript';js.src=f;document.getElementsByTagName('head')[0].appendChild(js);};loadJs(http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer)); //调用的时候 // 点击图标设置变量 function setIsinvited() { try { onliner_zdfq = 2; if (acc_autotype == 3) { document.cookie = "onliner_zdfq607557=" + onliner_zdfq; } } catch (e) { } } var onliner_zdfq = hz6d_getCookie("onliner_zdfq607557"); //onliner_zdfq: 0.初始值 2.点击接受 3.点击拒绝 if (onliner_zdfq == "") { onliner_zdfq = 0; document.cookie = "onliner_zdfq607557=" + onliner_zdfq; } var hz6d_kf_type = 2; var hz6d_pos_model = 2; var hz6d_hidden = 0; var hz6d_close_icon = 0; document.write("<scr" + "ipt src='http://www3.53kf.com/kf_ivt.php?arg=aqioo&style=1&isonline=1&kfonline=1&lang=zh-cn&resize=yes&charset=GBK&kflist=off&kf=&zdkf_type=1&referer=" + hz6d_from_page + "&lytype=0&tpl_name=crystal_blue&tpl_width=703&tpl_height=473' type='text/javascript'></scr" + "ipt>"); hz6d_con_img = hz6d_html_replace("<img src='http://www3.53kf.com/img/kflogo/line1.gif' border='0' onclick='setIsinvited();window.open(\"http://www3.53kf.com/webCompany.php?arg=aqioo&style=1&kflist=off&kf=&zdkf_type=1&language=zh-cn&charset=GBK&lytype=0&referer={hz6d_keyword}&tpl=crystal_blue\",\"_blank\",\"height=473,width=703,top=200,left=200,status=yes,toolbar=no,menubar=no,resizable=yes,scrollbars=no,location=no,titlebar=no\")' style='cursor:pointer'/>"); document.write(hz6d_con_img); document.write("<scr" + "ipt src='http://www3.53kf.com/stat.php?com_id=607557&referer=" + hz6d_from_page + "' type='text/javascript'></scr" + "ipt>");===============把document.write部分改成dom createElement方式。 var loadJs=function(f){var js=document.createElement('script');js.language='javascript';js.type='text/javascript';js.src=f;document.getElementsByTagName('head')[0].appendChild(js);};loadJs("http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer)); //调用的时候 另外escape(document.referrer)最好改成escape(document.referrer).replace(/\+/g,'%2b')因为escape会把空格符解析为'+' 是咯。谢谢sbwwkmyd你的方法我也尝试过。跟jq的是一样。也是打开新窗口的 这个代码不会打开新窗口啊。如果会,应该是http://www.53kf.com/kf.php这个脚本中有打开新窗口的代码。 恩。你说对啦。。http://www.53kf.com/kf.php这个脚本会返回document.write();这个会清除html的。我想问下这样行不行我新建一个html,内容如下<span><script>document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>< img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a></span>然后我点击按钮再装入这个html可行吗? 如果是这样,你可以先入为主,先把document.write给改掉,比如你知道它会写到一个id为x的容器中:document.write=function(){var v=[];for(var i=0;i<arguments.length;i++) v.push(arguments[i]);document.getElementById('x').innerHTML=v.join('');};当然,如果write的内容里面包含<script>,你要自己解析出来然后再动态加载它。 这样是不行的,简单一点可以把它换成一个iframe应该可以解决,除非它的脚本有判断这个是不是top之类的。 呵呵。。我用<iframe>如果要自己重新document.write()那就太麻烦啦 异步处理,使用ajax技术,我觉得可行!!! ajax跨域没权限吧,考虑到服务端写个代理,读取到文件 ,将最后一行document.write换掉,自己用js实现 json ajax 点击手机模拟器中右软件回到上一级页面怎么弄啊 请问,用htmlunit模拟点击一个按钮,如何获得这个按钮发出的url请求? 将鼠标放在一张图片上,鼠标指针变成小手的形状! 如何用代码给 <input type="file"> 赋值 ?user_id=XXX问题! XML问题??还是未解决好! 单选按钮为一个的时候(.length)出错。 怎样才能把浏览器中的右击的弹出菜单中的“查看源文件”项屏蔽掉? 在网页中如何在一框架中刷新另一个框架的文件内容 fckeditor怎么设置默认的字体大小和颜色? 关于onkeydown事件的问题
而是如何加载的问题。
我想他点击的时候再加载
我原来是这样写的$("#87span").html('<script>document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>< img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a>');但是出错
我想要的功能是这样
<span>
<script>document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>< img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a>
</span>
这个直接放到网页上是可以显示的,但是加载非常慢,而且用户不一定需要看到这两个。
所以我现在想他点击一个按钮(该按钮是显示这两个东西的)的时候
再进行加载。
不知道说明白没有。
关键是
$("#kefuSpan").html('<script type="text/javascript" src="http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '"></script>');
这个不知道如何来写
可以在点击选项卡的时候加载内容,用ajax请求。jquery的ajax可以获得script脚本
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jquery tab 选项卡</title>
<meta http-equiv="author" content="hoojo">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
.tab {
background-color: mintcream;
width: 200px;
-width: 205px;
height: 200px;
margin-left: 200px;
}
.header {
height: 20px;
width: 100%;
}
.content {
border: 1px solid #CCCCFF;
border-top: none;
height: 180px;
}
.liStyle {
cursor: pointer;
height: 20px;
width: 66px;
-width: 61px;
float: left;
background-color: white;
}
.show {
background-color: mintcream;
border: 1px solid #CCCCFF;
border-bottom: none;
}
.hide {
background-color: white;
border-bottom: 1px solid #CCCCFF;
}
.ulHide {
display: none;
}
.ulShow {
display: block;
}
ul {
list-style: none outside none;
}
* {
margin: 0;
padding: 0;
}
</style>
<script type="text/javascript">
$(function () {
$(".tab > ul.header > li").click(function () {
$(this).parent().find("li.show").addClass("hide").removeClass("show");
$(this).addClass("show").removeClass("hide");
var parentsEl = $(this).parents(".tab");
parentsEl.find("div > ul.ulShow").addClass("ulHide").removeClass("ulShow");
/*页面静态内容*/
var ary = parentsEl.find("ul.header > li");
parentsEl.find("div > ul:eq(" + $.inArray(this, ary) + ")").addClass("ulShow").removeClass("ulHide");
/*用ajax动态加载内容
parentsEl.find("div > ul:eq(" + $.inArray(this, ary) + ")").addClass(function () {
var el = this;
$.post("TreeDataServlet", {param: "params"}, function (data) {
$(el).html(data);
});
return "ulShow";
}).removeClass("ulHide");*/
})
});
</script>
</head>
<body bgcolor="white">
<div class="tab">
<ul class="header">
<li class="liStyle show">Java</li>
<li class="liStyle hide">Spring</li>
<li class="liStyle hide">Hibernate</li>
</ul>
<div class="content">
<ul class="ulShow">
Java
<li>java javaSE</li>
<li>java javaME</li>
<li>java javaEE</li>
</ul>
<ul class="ulHide">
Spring
<li>java springMVC</li>
<li>java spring aop</li>
<li>java spring Ioc DI</li>
</ul>
<ul class="ulHide">
Hibernate
<li>java Hibernate Configuration Transaction</li>
<li>java Hibernate Query Criteria</li>
<li>java Hibernate Session SessionFactory</li>
</ul>
</div>
</div>
<hr/>
<div class="tab">
<ul class="header">
<li class="liStyle show">Java</li>
<li class="liStyle hide">Spring</li>
<li class="liStyle hide">Hibernate</li>
</ul>
<div class="content">
<ul class="ulShow">
Java....
<li>java javaSE</li>
<li>java javaME</li>
<li>java javaEE</li>
</ul>
<ul class="ulHide">
Spring....
<li>java springMVC</li>
<li>java spring aop</li>
<li>java spring Ioc DI</li>
</ul>
<ul class="ulHide">
Hibernate....
<li>java Hibernate Configuration Transaction</li>
<li>java Hibernate Query Criteria</li>
<li>java Hibernate Session SessionFactory</li>
</ul>
</div>
</div>
</body>
</html>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/IBM_hoojo/archive/2010/07/28/5772017.aspx
//$("#kefuSpan").html('<script type="text/javascript" src="http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '"></script>');
// $("#kefuSpan").html('<a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes><img border="0" SRC="http://wpa.qq.com/pa?p=1:996298362:7" alt="点击这里给我发消息"/></a>'); $.getScript('http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '');
}我这样写的,他就给我新开一个窗口
$.post("your.js", {param: "params"}, function (data) {
$(el).html(data);//this data is script
}, "script");
<span>
<b onclick="show()" style="cursor:pointer;color:blue;">WOLAIYE</b>
<script>
function show(){
document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");
}
</script>
<a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>
<img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息">
</a>
</span>
他会转到新页面(页面的url跟原来的意义),这个页面就写着网上客服。
请问如何进行修改?
o,那就是你请求的script里面可能有移动wondow.location 的跳转代码
你在回调函数中得到script,看看回调中的data,将其替换掉看看
但是他打开一个新页面,不知道是不是与document.write有关系。。他好像将原来的html全部去掉啦。
这当然算动态加载啊。你用的是jQuery么?用load方法就好。如果想自己实现,参考jQuery里面的globalEval方法。
$("#kefuSpan").load('http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=' + escape(document.referrer) + '', null, function(js) { eval(js); });
始终是没成功的
var obj = document.createElement("script");
obj.type="text/javascript";
obj.src="jquery.layout.js";
document.body.insertBefore(obj);
图片也用此方法
var img_obj = document.createElement("img");
img_obj.src="xxx.png";
function hz6d_getCookie(name) {
var offset = document.cookie.indexOf(name + "=");
if (offset != -1) {
offset += name.length + 1;
var end = document.cookie.indexOf(";", offset);
if (end == -1) {
end = document.cookie.length;
}
return document.cookie.substring(offset, end);
}
else {
return "";
}
}
var hz6d_from_page = hz6d_getCookie("53kf_");
if (hz6d_from_page == "") {
hz6d_from_page = document.referrer;
document.cookie = "53kf_=" + hz6d_from_page;
}
hz6d_from_page = "&keyword=" + escape(hz6d_from_page); function hz6d_html_replace(html) {
var pattern = /{hz6d_keyword}/gim;
var str = hz6d_from_page + "&tfrom=1";
var hz6d_html = html.replace(pattern, str);
return hz6d_html;
}
// has defined <!DOCTYPE... >
function hasdoctype() {
var ret = false;
try {
if (document.compatMode == "BackCompat")
ret = false;
else if (document.compatMode == "CSS1Compat")
ret = true;
else
ret = true;
}
catch (e) { ret = false }
return ret;
} // ie8 = IE8_Partner_Build [2008-12-11]
function detectBrowser() {
var ret = "ie6"; // default
var user_agent = navigator.userAgent;
if (user_agent.indexOf("compatible") > -1) {
if (user_agent.indexOf("MSIE 6.0") > -1)
ret = "ie6"
else if (user_agent.indexOf("MSIE 7.0") > -1)
ret = "ie7";
else if (user_agent.indexOf("MSIE 8.0") > -1)
ret = "ie8";
if (user_agent.indexOf("360") > -1) {
ret = "360";
}
}
else if (user_agent.indexOf("Gecko") > -1) {
ret = "firefox";
} if ("" == "TheWorld") {
ret = "TheWorld";
} return ret;
} // 间距小于步进,则移动间距的距离
function smoothMove(start, end) {
var step = Math.abs(end - start);
var forword = end - start; if (step > 2) {
step = Math.ceil(step * 0.2) * (forword / Math.abs(forword));
}
else {
step = step * (forword / Math.abs(forword));
} posi = start + step;
if (step > 0) {
if (posi > end)
posi = end;
}
else {
if (posi < end)
posi = end;
}
return posi;
}
var hasdoctype = hasdoctype();
var browser = detectBrowser(); // 点击图标设置变量
function setIsinvited() {
try {
onliner_zdfq = 2;
if (acc_autotype == 3) {
document.cookie = "onliner_zdfq607557=" + onliner_zdfq;
}
} catch (e) { }
}
var onliner_zdfq = hz6d_getCookie("onliner_zdfq607557"); //onliner_zdfq: 0.初始值 2.点击接受 3.点击拒绝
if (onliner_zdfq == "") {
onliner_zdfq = 0;
document.cookie = "onliner_zdfq607557=" + onliner_zdfq;
} var hz6d_kf_type = 2;
var hz6d_pos_model = 2;
var hz6d_hidden = 0;
var hz6d_close_icon = 0;
document.write("<scr" + "ipt src='http://www3.53kf.com/kf_ivt.php?arg=aqioo&style=1&isonline=1&kfonline=1&lang=zh-cn&resize=yes&charset=GBK&kflist=off&kf=&zdkf_type=1&referer=" + hz6d_from_page + "&lytype=0&tpl_name=crystal_blue&tpl_width=703&tpl_height=473' type='text/javascript'></scr" + "ipt>"); hz6d_con_img = hz6d_html_replace("<img src='http://www3.53kf.com/img/kflogo/line1.gif' border='0' onclick='setIsinvited();window.open(\"http://www3.53kf.com/webCompany.php?arg=aqioo&style=1&kflist=off&kf=&zdkf_type=1&language=zh-cn&charset=GBK&lytype=0&referer={hz6d_keyword}&tpl=crystal_blue\",\"_blank\",\"height=473,width=703,top=200,left=200,status=yes,toolbar=no,menubar=no,resizable=yes,scrollbars=no,location=no,titlebar=no\")' style='cursor:pointer'/>"); document.write(hz6d_con_img); document.write("<scr" + "ipt src='http://www3.53kf.com/stat.php?com_id=607557&referer=" + hz6d_from_page + "' type='text/javascript'></scr" + "ipt>");他函数是这样的。把他贴到vs里是很清晰的,执行就靠最后的document.write();
但是他那里也没打开窗口啊。。
如果没有的话可以先用
$.getScript("scriptsrc",function(){
obj.html('<img src...../>');
});
我基本可以放弃了。。哭。。花我两个小时啊。。
你也尝试了?就是打开新窗口吗?
var loadJs=function(f)
{
var js=document.createElement('script');
js.language='javascript';
js.type='text/javascript';
js.src=f;
document.getElementsByTagName('head')[0].appendChild(js);
};
loadJs(http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer)); //调用的时候
function setIsinvited() {
try {
onliner_zdfq = 2;
if (acc_autotype == 3) {
document.cookie = "onliner_zdfq607557=" + onliner_zdfq;
}
} catch (e) { }
}
var onliner_zdfq = hz6d_getCookie("onliner_zdfq607557"); //onliner_zdfq: 0.初始值 2.点击接受 3.点击拒绝
if (onliner_zdfq == "") {
onliner_zdfq = 0;
document.cookie = "onliner_zdfq607557=" + onliner_zdfq;
} var hz6d_kf_type = 2;
var hz6d_pos_model = 2;
var hz6d_hidden = 0;
var hz6d_close_icon = 0;
document.write("<scr" + "ipt src='http://www3.53kf.com/kf_ivt.php?arg=aqioo&style=1&isonline=1&kfonline=1&lang=zh-cn&resize=yes&charset=GBK&kflist=off&kf=&zdkf_type=1&referer=" + hz6d_from_page + "&lytype=0&tpl_name=crystal_blue&tpl_width=703&tpl_height=473' type='text/javascript'></scr" + "ipt>"); hz6d_con_img = hz6d_html_replace("<img src='http://www3.53kf.com/img/kflogo/line1.gif' border='0' onclick='setIsinvited();window.open(\"http://www3.53kf.com/webCompany.php?arg=aqioo&style=1&kflist=off&kf=&zdkf_type=1&language=zh-cn&charset=GBK&lytype=0&referer={hz6d_keyword}&tpl=crystal_blue\",\"_blank\",\"height=473,width=703,top=200,left=200,status=yes,toolbar=no,menubar=no,resizable=yes,scrollbars=no,location=no,titlebar=no\")' style='cursor:pointer'/>"); document.write(hz6d_con_img); document.write("<scr" + "ipt src='http://www3.53kf.com/stat.php?com_id=607557&referer=" + hz6d_from_page + "' type='text/javascript'></scr" + "ipt>");===============
把document.write部分改成dom createElement方式。
{
var js=document.createElement('script');
js.language='javascript';
js.type='text/javascript';
js.src=f;
document.getElementsByTagName('head')[0].appendChild(js);
};
loadJs("http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer)); //调用的时候
escape(document.referrer)
最好改成
escape(document.referrer).replace(/\+/g,'%2b')
因为escape会把空格符解析为'+'
谢谢sbwwkmyd
你的方法我也尝试过。跟jq的是一样。也是打开新窗口的
http://www.53kf.com/kf.php
这个脚本会返回document.write();这个会清除html的。
我想问下这样行不行
我新建一个html,内容如下
<span>
<script>document.write("<scr" + "ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=aqioo&style=1&keyword=" + escape(document.referrer) + "\"></scr" + "ipt>");</script><a target=blank href=tencent://message/?uin=996298362&Site=阿启网&Menu=yes>< img border="0" SRC=http://wpa.qq.com/pa?p=1:996298362:7 alt="点击这里给我发消息"></a>
</span>
然后我点击按钮再装入这个html可行吗?
document.write=function()
{
var v=[];
for(var i=0;i<arguments.length;i++) v.push(arguments[i]);
document.getElementById('x').innerHTML=v.join('');
};当然,如果write的内容里面包含<script>,你要自己解析出来然后再动态加载它。
如果要自己重新document.write()那就太麻烦啦
考虑到服务端写个代理,读取到文件 ,将最后一行document.write换掉,自己用js实现