CSDN博客里面挂广告的推荐方法
此文章版权归JAVA世纪网(JAVA2000.net)和CSDN(CSDN.NET)所有.
JAVA世纪网地址:http://www.java2000.net/p10652
CSDN博客地址:http://blog.csdn.net/java2000_net/archive/2008/10/04/3015606.aspx
如转载,请保留此说明和完整的页面内容。
感谢
前言
大家应该注意到了,在CSDN的博客里面并没有挂CSDN自己的广告,我们感谢CSDN的无私奉献,我们应继续支持CSDN。
那我们不要浪费CSDN的好意了,我们来看看如果把自己的广告放到里面去。
一、前提条件
CSDN的页面支持自定义的配置
CSDN的页面内容支持比较完整的JS代码。
二、简单的方式、
1 帖子里面直接书写广告代码
你可以在源代码的模式下面,直接放入你要加入的广告代码。比如:
此方法的优点是,你可以最大限度的控制格式,加入你能加入的任何广告代码。
缺点,每次发帖都要排版,如果你更换个广告,则以前的帖子必须重新编辑一遍。
2 帖子里面外挂js文件
和1区别不大,你直接在源代码里面用自己的动态JS代码。比如
优点:可以更灵活的修改广告代码。但
缺点:有些广告代码会有些小问题。更重要的是你需要一个稳定的外部服务器空间。如果服务器变动,你的所有帖子仍需要编辑。
3 在配置里面直接书写广告
大部分人都是这样直接
优点:一次修改可以影响所有的帖子
缺点:位置限制在左侧,切有点太窄了。
二、我推荐使用的方式
继续在配置里面书写广告,但广告并不局限于显示在左侧,而是可以移动到你需要的位置。比如:
顶部的右上,那个搜索的附近;
帖子内容的开始;
帖子内容的结束
评价的开始
评价表单右侧
整个页面的底部
我们来看所需要的技术。
1 如何定位广告的位置
请看如下的代码
查看复制到剪切板打印
// 获取页面某个元素对象
// 我这里使用了id属性,你也可以用其它的方法获得元素对象
var t = document.getElementById("Anthem_Post.ascx_PostComment_CommentUpdatePanel__");
// 获得左侧,顶部和上级对象
objLeft = t.offsetLeft;
objTop = t.offsetTop;
objParent = t.offsetParent;
// 如果上级元素不是BODY,则继续累计计算相对偏差
while( objParent.tagName.toUpperCase() != "BODY" ) {
objLeft += objParent.offsetLeft;
objTop += objParent.offsetTop;
objParent = objParent.offsetParent;
}
// 我们已经拿到了我们要定位的广告元素位置了
// 获取页面某个元素对象
// 我这里使用了id属性,你也可以用其它的方法获得元素对象
var t = document.getElementById("Anthem_Post.ascx_PostComment_CommentUpdatePanel__");
// 获得左侧,顶部和上级对象
objLeft = t.offsetLeft;
objTop = t.offsetTop;
objParent = t.offsetParent;
// 如果上级元素不是BODY,则继续累计计算相对偏差
while( objParent.tagName.toUpperCase() != "BODY" ) {
objLeft += objParent.offsetLeft;
objTop += objParent.offsetTop;
objParent = objParent.offsetParent;
}
// 我们已经拿到了我们要定位的广告元素位置了
2 我们的广告
查看复制到剪切板打印
<div id="GOOGLE_COMMENT" style="position:absolute;display:none">
<script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* 300x250, 创建于 08-9-16 */
google_ad_slot = "0023597101";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div id="GOOGLE_COMMENT" style="position:absolute;display:none">
<script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* 300x250, 创建于 08-9-16 */
google_ad_slot = "0023597101";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
里面注意我使用了GOOGLE_COMMENT作为这个广告的ID,同时设置了CSS属性为绝对定位,不显示。
3 移动我们的广告到正确的位置
查看复制到剪切板打印
// 得到我们前面的广告对象
var gg = document.getElementById("GOOGLE_COMMENT");
// 相对于我们要放广告的位置,加上一个偏移量
gg.style.left=(objLeft +450)+"px";
gg.style.top = (objTop+10)+"px";
// 显示广告
gg.style.display="";
// 得到我们前面的广告对象
var gg = document.getElementById("GOOGLE_COMMENT");
// 相对于我们要放广告的位置,加上一个偏移量
gg.style.left=(objLeft +450)+"px";
gg.style.top = (objTop+10)+"px";
// 显示广告
gg.style.display="";
4 在页面装载完毕后再显示广告
因为我们的代码在整个页面的前部,所以不能一开始就运行,否则根本找不到一些在后面才出现的元素。
我们把自己的代码放在一个function里面
查看复制到剪切板打印
function GOOGLEResize(){
// 我们全部的初始化代码
}
// 当页面装载完毕后,再运行我们的程序
window.onload=GOOGLEResize;
function GOOGLEResize(){
// 我们全部的初始化代码
}
// 当页面装载完毕后,再运行我们的程序
window.onload=GOOGLEResize;
5 处理页面的resize事件
在IE里,可以简单的用
查看复制到剪切板打印
window.onresize=GOOGLEResize;
window.onresize=GOOGLEResize;
但是在Firefox里面,则必须用定时器进行定期检测才行
查看复制到剪切板打印
var startWidth = document.getElementsByTagName("body")[0].offsetWidth;
function checkFFresize() {
var resizeWidth = document.getElementsByTagName("body")[0].offsetWidth;
if (resizeWidth == startWidth) {
} else {
startWidth=document.getElementsByTagName("body")[0].offsetWidth;
GOOGLEResize();
}
setTimeout("checkFFresize();",2000);
}
if (document.all) {
} else {
setTimeout("checkFFresize();",1000);
}
var startWidth = document.getElementsByTagName("body")[0].offsetWidth;
function checkFFresize() {
var resizeWidth = document.getElementsByTagName("body")[0].offsetWidth;
if (resizeWidth == startWidth) {
} else {
startWidth=document.getElementsByTagName("body")[0].offsetWidth;
GOOGLEResize();
}
setTimeout("checkFFresize();",2000);
}
if (document.all) {
} else {
setTimeout("checkFFresize();",1000);
}
6 处理页面的异常
屏蔽掉可能出现的异常
查看复制到剪切板打印
function killErrors() {
return true;
}
window.onerror = killErrors;
function killErrors() {
return true;
}
window.onerror = killErrors;
至此,我所需要的代码已经全部完成了。
三、我的广告的完整代码
查看复制到剪切板打印
<script type="text/javascript">
function killErrors() {
return true;
}
window.onerror = killErrors;
var init = false;
function GOOGLEResize(){
var subject = document.getElementById("Post.ascx_ViewPost_PreviousAndNextEntriesUp");
if(!init){
subject.innerHTML = subject.innerHTML+"<br/><br/><br/><br/><br/><br/><hr/><br/>";
init = true;
}
var t = document.getElementById("Anthem_Post.ascx_PostComment_CommentUpdatePanel__");
var gg = document.getElementById("GOOGLE_COMMENT");
objLeft = t.offsetLeft;
objTop = t.offsetTop;
objParent = t.offsetParent;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft += objParent.offsetLeft;
objTop += objParent.offsetTop;
objParent = objParent.offsetParent;
}
gg.style.left=(objLeft +450)+"px";
gg.style.top = (objTop+10)+"px";
gg.style.display="";
objLeft = subject .offsetLeft;
objTop = subject .offsetTop;
objParent = subject .offsetParent;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft += objParent.offsetLeft;
objTop += objParent.offsetTop;
objParent = objParent.offsetParent;
}
var gg728=document.getElementById("GOOGLE_TOP");
gg728.style.left = objLeft+"px";
gg728.style.top = (objTop+50)+"px";
gg728.style.display="";
}
window.onresize=GOOGLEResize;
window.onload=GOOGLEResize;
var startWidth = document.getElementsByTagName("body")[0].offsetWidth;
function checkFFresize() {
var resizeWidth = document.getElementsByTagName("body")[0].offsetWidth;
if (resizeWidth == startWidth) {
} else {
startWidth=document.getElementsByTagName("body")[0].offsetWidth;
GOOGLEResize();
}
setTimeout("checkFFresize();",2000);
}
if (document.all) {
} else {
setTimeout("checkFFresize();",1000);
}
</script>
<script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* CSDN摩天 160x600, 创建于 08-9-17 */
google_ad_slot = "5598761730";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<div id="GOOGLE_TOP" style="position:absolute; top:248px;left:250px;width:728;height:90;display:none"><script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* CSDN横幅 728x90, 创建于 08-9-17 */
google_ad_slot = "9488011826";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<div id="GOOGLE_COMMENT" style="position:absolute;display:none">
<script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* 300x250, 创建于 08-9-16 */
google_ad_slot = "0023597101";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<script type="text/javascript">
function killErrors() {
return true;
}
window.onerror = killErrors;
var init = false;
function GOOGLEResize(){
var subject = document.getElementById("Post.ascx_ViewPost_PreviousAndNextEntriesUp");
if(!init){
subject.innerHTML = subject.innerHTML+"<br/><br/><br/><br/><br/><br/><hr/><br/>";
init = true;
}
var t = document.getElementById("Anthem_Post.ascx_PostComment_CommentUpdatePanel__");
var gg = document.getElementById("GOOGLE_COMMENT");
objLeft = t.offsetLeft;
objTop = t.offsetTop;
objParent = t.offsetParent;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft += objParent.offsetLeft;
objTop += objParent.offsetTop;
objParent = objParent.offsetParent;
}
gg.style.left=(objLeft +450)+"px";
gg.style.top = (objTop+10)+"px";
gg.style.display="";
objLeft = subject .offsetLeft;
objTop = subject .offsetTop;
objParent = subject .offsetParent;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft += objParent.offsetLeft;
objTop += objParent.offsetTop;
objParent = objParent.offsetParent;
}
var gg728=document.getElementById("GOOGLE_TOP");
gg728.style.left = objLeft+"px";
gg728.style.top = (objTop+50)+"px";
gg728.style.display="";
}
window.onresize=GOOGLEResize;
window.onload=GOOGLEResize;
var startWidth = document.getElementsByTagName("body")[0].offsetWidth;
function checkFFresize() {
var resizeWidth = document.getElementsByTagName("body")[0].offsetWidth;
if (resizeWidth == startWidth) {
} else {
startWidth=document.getElementsByTagName("body")[0].offsetWidth;
GOOGLEResize();
}
setTimeout("checkFFresize();",2000);
}
if (document.all) {
} else {
setTimeout("checkFFresize();",1000);
}
</script>
<script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* CSDN摩天 160x600, 创建于 08-9-17 */
google_ad_slot = "5598761730";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<div id="GOOGLE_TOP" style="position:absolute; top:248px;left:250px;width:728;height:90;display:none"><script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* CSDN横幅 728x90, 创建于 08-9-17 */
google_ad_slot = "9488011826";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<div id="GOOGLE_COMMENT" style="position:absolute;display:none">
<script type="text/javascript"><!--
google_ad_client = "pub-2908059660288034";
/* 300x250, 创建于 08-9-16 */
google_ad_slot = "0023597101";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
希望大家用的开心。
分享到:
相关推荐
《CSDN博客导出工具:Markdown格式轻松获取》 在IT行业中,个人博客是分享技术、交流思想的重要平台,而CSDN作为国内颇具影响力的开发者社区,许多程序员选择在此发表文章。为了方便管理和备份自己的博客,CSDN提供...
CSDN博客导出工具是一款专门针对CSDN平台的实用软件,它的主要功能是帮助用户将个人在CSDN上发表的博客文章批量导出为Markdown或PDF格式。这样的工具对于博主而言非常有价值,因为它提供了备份和整理博客内容的便捷...
下载资源后解压。有两个文件,一个是用来去除页面广告的,一个是用来去除CSDN博客中右侧的推荐内容。 使用方法摆渡摆渡或者看这个资源的来源博客即可。不会用或用不了的再找我吧。
好消息:CSDN博客下载器v2.0版本增加导出PDF文件功能,方便查看图片与文章。 在无网络环境,也可以看自己的一些文章。当然如果您发现CSDN博客的一些文章值得收藏,你也可以使用本软件轻松的下载到您的电脑。 该版本...
CSDN博客导出
CSDN博客文章美化插件
这是一个小软件可以方便导出csdn博客或者其他网址为docx格式文档,十分方便。软件工具免费使用,一天可以免费转换一次效果还可以,只支持windows系统,如果失效可以联系作者。注意由于软件加壳部分杀毒软件可能存在...
【标题】:“抓取CSDN博客文章的简单爬虫python源码” 在这个主题中,我们将探讨如何使用Python编写一个简单的爬虫程序来抓取CSDN博客的文章内容。CSDN(Chinese Software Developer Network)是中国的一个大型...
程序通过分析CSDN博客源码来生成一些必要的数据,可能在以后使用当中出现爬取不了的情况,可能是CSDN的源码结构修改了。程序只是用于学习之用,严禁用于非法目的而照成CSDN服务器过载。 由于生成PDF的时候需要依赖...
请注意,虽然这种方法可以方便地复制文章结构,但你应该遵循CSDN社区的规定以及版权法律。合理引用他人的作品,添加必要的引用链接,是尊重原创和维护网络环境的重要原则。在分享和学习的过程中,我们也应该积极创造...
开发环境 eclipse for jee+jdk7+tomcat7 lucene4.4+crawler4j3.5 索引文件位置:/csdn-blog-crawler/data 记得把生成的索引放入:/csdn-blog-crawler/WebContent
(该版本新增百度和QQ空间的日志导出功能) ... 支持3种导出方式:个人博客、博客专栏、指定URL。 支持5种导出格式:CHM、PDF、HTML、TXT、EPUB。 更多:http://blog.csdn.net/sq_zhuyi/article/details/7924776
《CSDN博客导出工具v4.1:全面解析与应用指南》 在数字化信息时代,个人博客和专栏已经成为知识分享的重要平台。CSDN博客导出工具v4.1是一个专门针对这一需求设计的强大工具,它允许用户方便地导出在各大博客平台上...
本工具几乎支持国内所有知名博客的导出功能。 支持3种导出方式:个人博客、博客专栏、指定URL。 支持5种导出格式:CHM、PDF、HTML、TXT、EPUB。 更多:http://blog.csdn.net/sq_zhuyi/article/details/7924776
CSDN博客访问量
CSDN 专用 博客备份 工具2.0.0 备份文件为GB2312 编码
【Android小巫CSDN博客客户端源码】是一款基于Android平台的应用程序,旨在为用户提供一个方便的途径来阅读和浏览CSDN博客上的文章。这个源码是开发者小巫分享的,供其他开发者学习和参考,以提升Android开发技能。 ...
计算机视觉——一种现代方法(第二版)学习笔记_计算机视觉一种现代方法-CSDN博客 (2024_3_10 14_47_44).html