61阅读

全新解决方案-静态新闻分页的js解决方案

发布时间:2017-12-29 所属栏目:重新生成解决方案

一 : 静态新闻分页的js解决方案

今天看一个新闻网站,看到它的分页用的是JS读取内容字符串(这里用的XML节点内容)后处理,分页按自定义字数分,而且可以点击显示全部(即不分页方式浏览)
查看了它的源代码后提出了这个基本方法,感觉很好,粗略说一下前台调用方法及注意的地方:

<div id="article"><!--正文正文内容显示区域(必须保留,后台js程序用到这个id)--></div>
<xml id="xmlArticle">
<Article>
<Info>
<Content>
<![CDATA[
<FONT face=Verdana><FONT face=Verdana>这里是新闻内容。[www.61k.com](这里的xml的id,content节点后台也都用到,保留 )</FONT> ]]>
</Content>
</Info>
</Article>
</xml>
<script type="text/javascript">
//每页显示字数
PageSize=800;
//分页模式
flag=1;
</script>
<!--正文分页Js-->
<script type="text/javascript" src="cutarticle.js"></script>
<script type="text/javascript">
text_pagination(1);
</script>

cutarticle.js

var currentSet,CutFlag,TotalByte,PageCount,key,tempText,tempPage;
key="";
currentSet=0;
var Text=xmlArticle.selectSingleNode("//Content").text;
TotalByte=Text.length;

if (flag==1)
{
PageCount=Math.round(TotalByte/PageSize);
if(parseFloat("0."+TotalByte%PageSize)>0){
if(parseFloat("0."+TotalByte%PageSize)<0.5){
PageCount=PageCount+1;
}
}
var PageNum=new Array(PageCount+1);
var PageTitle=new Array(PageCount+1);
PageNum[0]=0;
PageTitle[0]="";

var sDrv1,sDrv2,sDrv3,sDrv4,sFlag;
var sDrvL,sTemL;
var sTem1,sTem2,k;
sFlag=0;

for(j=1;j<PageCount+1;j++){
PageNum[j]=PageNum[j-1]+PageSize;
PageTitle[j]="";
//alert(j);
sDrv1="<br>";
sDrv2="<BR>";
sDrv3="<Br>";
sDrv4="<bR>";
sDrvL=sDrv1.length;
for(k=PageNum[j];k<=TotalByte;k++){
sTem1=Text.substring(PageNum[j]-sDrvL,k);
sTemL=sTem1.length;
sTem2=sTem1.substring(sTemL-sDrvL,sTemL)
if (sTem2==sDrv1 || sTem2==sDrv2 || sTem2==sDrv3 || sTem2==sDrv4)
{
sFlag=sFlag+1;
PageNum[j]=k;
break;
}
}
if (PageNum[j]>TotalByte)
{
break;
}
}
if (j<PageCount)
{
PageNum.length=j;
PageCount=j
}
if (PageCount>1&&sFlag>1&&PageCount<sFlag)
{
PageCount=sFlag+1;
}
}
else{
//手动分页
var j,sFlag,PageCount,sText;
var sTitleFlag;
var PageNum=new Array();
var PageTitle=new Array();

PageSize=0;
j=1;
PageNum[0]=-10;
PageTitle[0]="";
sFlag=0;
sText=Text;

do
{
sText=Text.substring(PageNum[j-1]+10,TotalByte);

sFlag=sText.indexOf("[NextPage");

if (sText.substring(sFlag+9,sFlag+10)=="=")
{
sTitleFlag=sText.indexOf("]",sFlag);
PageTitle[j]=sText.substring(sFlag+10,sTitleFlag);
}
else{
PageTitle[j]="";
}

if (sFlag>0)
{
PageNum[j]=sFlag+PageNum[j-1]+10;
}
else{
PageNum[j]=TotalByte;
}

j+=1;
}
while (PageNum[j-1]<TotalByte);

PageCount=j-1;
}

function text_pagination(Page){
var Output,Byte;

if(Page==null){Page=1;}

Output="";
// Output=Output+"<table width=100% height=30 border=0 align=center cellpadding=0 cellspacing=0>";
// Output=Output+"<tr>";
// Output=Output+"<td height=1 background=Images/DotLine.gif></td>";
// Output=Output+"</tr>";

//头部功能导航条
// Output=Output+"<tr>";


//页码显示方式一
//第x页:分页标题
// if (Page==0 || PageCount==0){
// Output=Output+"当前是:<font color=red>全文显示</font>" ;
// }
// else{
// if(TotalByte>PageSize){Byte=PageNum[Page]-PageNum[Page-1]}else{Byte=TotalByte};
// Output=Output+"第 <font color=red>"+Page+"</font> 页";
// if (PageTitle[Page]!="")
// {
// Output=Output+":<font color=800000>"+PageTitle[Page]+"</font>";
// }
// Output+='&nbsp;';
// }

//显示方式二
//下拉菜单选择
//if (PageCount>0)
//{
// Output=Output+Article_PageNav(2,Page);
// Output=Output+"&nbsp;</td>";
//}

//显示方式三
//页码选择列表
//Output=Output+"<td align=right bgcolor=#f0faff>";
//Output=Output+Article_PageNav(0,Page);
//Output=Output+"</td>";

// Output=Output+"</tr>";
// Output=Output+"<tr>";
// Output=Output+"<td height=1 background=Images/DotLine.gif></td>";
// Output=Output+"</tr>";
// Output=Output+"</table>";

//显示正文
if(Page==0) {
//不分页
tempText=Text;
}
else{
//分页
if (flag==1)
//自动分页
{
tempText=Text.substring(PageNum[Page-1],PageNum[Page]);
}
else{
//手动分页
if (PageTitle[Page-1].length==0)
{
tempText=Text.substring(PageNum[Page-1]+10,PageNum[Page]);
}
else{
tempText=Text.substring(PageNum[Page-1]+11+PageTitle[Page-1].length,PageNum[Page]);
}
}
}
Output=Output+"<div id=world>";
Output=Output+tempText;
Output=Output+"</div>";
Output=Output+"<br>";

Output=Output+"<div align=center>";
Output=Output+Article_PageNav(2,Page);
Output=Output+"</div>";

document.getElementById('article').innerHTML = Output;
if (Page>1)
{
document.location.href='#top';
}
eval(document.all.keys).value=key;
if (key!=""){searchkey();}
}

function searchkey(){
//正文查找函数

h="<font class=keyworld>";
f="</font>";
keyset=new Array();
key=document.all.keys.value;
if (key==""){
alert("请输入关键字!");
return;
}
else{
keyset[0]=tempText.indexOf(key,0);
if (keyset[0]<0){
return;
}else
temp=tempText.substring(0,keyset[0]);
temp=temp+h+key+f;
temp2=tempText.substring(keyset[0]+key.length,tempText.length);
for (i=1;i<tempText.length;i++) {
keyset[i]=tempText.indexOf(key,keyset[i-1]+key.length);
if(keyset[i]<0){
temp=temp+tempText.substring(keyset[i-1]+key.length,tempText.length);
break;
}else{
temp=temp+tempText.substring(keyset[i-1]+key.length,keyset[i])+h+key+f;
}
}
world.innerHTML = temp;
}
}

function Article_PageNav(ShowStyle,Page){
//分页码显示函数
//参数为调用样式,0=简单样式,1=标准样式
var temp="";

if (ShowStyle==0)
//简单样式
{
tempPage=Page;
if(TotalByte>PageSize){
if (Page-4<=1){
temp=temp+"<font face=webdings color=#999999>9</font>";
if (Page<=1){temp=temp+"<font face=webdings color=#999999>7</font>";}else{temp=temp+"<a href=javascript:text_pagination("+(Page-1)+")><font face=webdings>7</font></a>";}
if (PageCount>10){
for(i=1;i<8;i++){
if (i==Page){
temp=temp+"<font color=red>"+i+"</font> ";
}else{
temp=temp+"<a href=javascript:text_pagination("+i+") >"+i+"</a>"+" ";
}
}
temp=temp+" ...";
}
else{
for(i=1;i<PageCount+1;i++){
if (i==Page){
temp=temp+"<font color=red>"+i+"</font> ";
}
else{
temp=temp+"<a href=javascript:text_pagination("+i+") >"+i+"</a>"+" ";
}
}
}

if (Page==PageCount){temp=temp+"<font face=webdings color=#999999>8</font>";}else{temp=temp+"<a href=javascript:text_pagination("+(Page+1)+")><font face=webdings>8</font></a>";}
if(PageCount<10){temp=temp+"<font face=webdings color=#999999>:</font>";}else{temp=temp+"<a href=javascript:text_pagination("+PageCount+")><font face=webdings>:</font></a>";}
}
else if(Page+4<=PageCount){
temp=temp+"<a href=javascript:text_pagination(1)><font face=webdings>9</font></a>";
temp=temp+"<a href=javascript:text_pagination("+(Page-1)+")><font face=webdings>7</font></a>";
if (PageCount>10){
temp=temp+"..";
for(i=Page-4;i<Page+4;i++){
if (i==Page){
temp=temp+"<font color=red>"+i+"</font> ";
}
else{
temp=temp+"<a href=javascript:text_pagination("+i+") >"+i+"</a>"+" ";
}
}
temp=temp+" ..";
}
else{
for(i=1;i<PageCount+1;i++){
if (i==Page){
temp=temp+"<font color=red>"+i+"</font> ";
}
else{
temp=temp+"<a href=javascript:text_pagination("+i+") >"+i+"</a>"+" ";
}
}
}

if (Page==PageCount){temp=temp+"<font face=webdings color=#999999>8</font>";}else{temp=temp+"<a href=javascript:text_pagination("+(Page+1)+")><font face=webdings>8</font></a>";}
temp=temp+"<a href=javascript:text_pagination("+PageCount+")><font face=webdings>:</font></a>";

}
else{
temp=temp+"<a href=javascript:text_pagination(1)><font face=webdings>9</font></a>";
temp=temp+"<a href=javascript:text_pagination("+(Page-1)+")><font face=webdings>7</font></a>";
temp=temp+".."

for(i=Page-2;i<PageCount+1;i++){
if (i==Page){
temp=temp+"<font color=red>"+i+"</font> ";
}
else{
temp=temp+"<a href=javascript:text_pagination("+i+") >"+i+"</a>"+" ";
}
}

if (Page==PageCount){temp=temp+"<font face=webdings color=#999999>8</font>";}else{temp=temp+"<a href=javascript:text_pagination("+(Page+1)+")><font face=webdings>8</font></a>";}
temp=temp+"<font face=webdings color=#999999>:</font>";
}
}
else{
temp=temp+"<font color=red>1</font> ";
}

temp=temp+" <a href=javascript:text_pagination(0)>显示全部</a>"
}
else if (ShowStyle==1)
//标准样式
{
if(TotalByte>PageSize){if(Page!=0){if(Page!=1){temp=temp+"<a href='#top' onclick=javascript:text_pagination("+(Page-1)+")><font color=3366cc>[上一页]</font></a>&nbsp;&nbsp;";}}}
for (i=1;i<PageCount+1 ;i++ )
{
if (Page==i)
{
temp=temp+"<font color=800000>["+i+"]</font>&nbsp;&nbsp;";
}
else{
temp=temp+"<a href='#top' onclick=javascript:text_pagination("+i+")><font color=3366cc>["+i+"]</font></a>&nbsp;&nbsp;";
}
}
temp=temp+"<a name='foot'></a>";
if(TotalByte>PageSize){if(Page!=0){if(Page!=PageCount){temp=temp+"<a href='#top' onclick=javascript:text_pagination("+(Page+1)+")><font color=3366cc>[下一页]</font></a>";}}}

temp=temp+" <a href=javascript:text_pagination(0)><font color=3366cc>显示全部</font></a>"
}
else if (ShowStyle==2)
//下拉菜单样式
{
temp=temp+'<select onchange="text_pagination(this.value)">'
for (i=1;i<PageCount+1 ;i++ )
{
if (Page==i)
{
temp=temp+"<option value='"+i+"' selected style='color:3366cc'>第 "+i+" 页"

}
else{
temp=temp+"<option value='"+i+"' style='color:3366cc'>第 "+i+" 页";
}
if (PageTitle[i].length!=0)
{
temp=temp+':'+PageTitle[i];
}
temp=temp+"</option>";
}
temp=temp+"</select>";
}
if(TotalByte>PageSize){if(Page!=0){if(Page!=1){temp=temp+"<a href='#top' onclick=javascript:text_pagination("+(Page-1)+")><font color=3366cc>[上一页]</font></a>&nbsp;&nbsp;";}}}
if(TotalByte>PageSize){if(Page!=0){if(Page!=PageCount){temp=temp+"<a href='#top' onclick=javascript:text_pagination("+(Page+1)+")><font color=3366cc>[下一页]</font></a>";}}}
temp=temp+" <a href=javascript:text_pagination(0)><font color=3366cc>显示全部</font></a>"

return (temp);
}

二 : TUNE揭晓2017全新反广告欺诈解决方案

  全球移动营销专家TUNE 宣布最新的反欺诈解决方案,助力营销者和广告平台共同反欺诈。TUNE最近发布的反欺诈解决方案得到了来自Uber,Twitter营销大咖的支持,也凝聚了InMobi, Vungle 和AppLovin等广告平台的共同研讨的智慧。该解决方案旨在以多元、互利开放的理念,集结移动营销人,反对广告欺诈,营造移动营销市场更加透明、健康的生态环境。

  移动营销人与广告合作方共同致力于反欺诈研究

  凝聚多方智慧,TUNE推出更高效透明的反欺诈解决方案

  当地时间2017年7月20日,TUNE正在迎来一年一度的全球移动营销大会POSTBACK。大会将对业界关心的反欺诈话题进行技术展示及专项研讨。作为移动营销解决行业的全球领袖同时也是大会主办方,TUNE今日宣布推出其全新的反欺诈解决方案。这是一个更公开透明也更具有建设性意义的解决方案,凝聚业内资深营销者、广告合作伙伴的共享数据、实战经验和行业洞察。为了保证信息的对称性,TUNE独家为营销人员和广告联盟/平台同时提供了流量和欺诈安装数据,并帮助双方展开研究讨论,以便双方共同合作,识别和消除广告欺诈。

  TUNE旗下两款核心产品TUNE Marketing Console(简称TMC)和HasOffers By TUNE (简称HO) 均已与众多全球移动营销者有着紧密合作,现在他们作为TUNE的用户可以免费享有最新反欺诈解决手段带来的便利。

  TUNE搭建反欺诈解决方案,共享数据,深度追踪,强势对抗广告欺诈

  营销人对广告欺诈问题的关注热度一直有增无减,据美国研究机构Forrester Research预估,由于广告欺诈而浪费的广告费用将在2021年达到109亿美元。业内人士均在致力于研究切实有效的反欺诈手段。

  广告欺诈现象是形态多样并且极具诱导性的。欺诈者们在安装农场(app install farms) 中集结起来,根据程序安装和删除应用程序,从点击刷量 (click spamming) 到点击注射(click injection)等,作弊行为层出不穷。广告欺诈对营销人和广告推广伙伴都造成重大损失,介于双方缺少一个共同的终端查看数据,二者很难合作预防欺诈行为,特别是在一个营销板块和绩效广告平台非常分散的行业。

  这是TUNE联合市场人员及广告预防伙伴共同推出反欺诈解决方案的主要原因,这个方案让营销人和广告合作伙伴访问共享的流量数据和工具,从而得以便捷、高效地分析应用安装流量是否存在潜在欺诈行为,计算点击-安装时间间隔,深入分析可疑流量规律,并深度评估多级广告平台和渠道主的行为和价值。

  最新反欺诈技术投入测试,反响热烈,表现不俗

  最新的反欺诈解决方案测试版已经为TUNE的客户有效地解决了欺诈问题,无论是APP开发者、市场营销人员还是广告平台,都体验到了反欺诈新技术的帮助,增强了对欺诈现象的应对能力。

  NHN 629是一家韩国手机游戏发行商和开发商,拥有一系列热门游戏,其中包括LINE Wooparuland。NHN 629已经进军多个国际市场并且取得了不俗的成绩,在日本和台湾的Google Play Store 和Apple App Store上,它是下载排名中排名第一的游戏应用。在拓展市场版图的过程中,广告欺诈成为了很大的阻碍因素,严重影响着移动营销的效果。面对反欺诈的难题,NHN 629在积极寻求有效的解决方案。在使用TUNE最新反欺诈解决方案测试版后,获得了非常有效的反欺诈成果。

  根据技术分析,NHN 629追踪到了以往难以监测到的可疑数据,其中90%的流量来自同一个分发商,大多数新获得的用户中有近99%的用户在安装之后没有打开应用程序。他们还发现一个特定的广告联盟发送超过30%的安装次数,安装时间少于10秒。在确认这两个广告商有广告欺诈的行为后,他们与终止与这两个广告平台的合作,并收到这部分广告支出的退款,在最大的程度上挽回了损失。

  2017反欺诈关键词:透明、开放和联合

  据NHN 629的市场营销人员Kim Joo Young介绍,公司今年办了多次发布会,专注于探究高效的用户获取方法,目标是提高广告支出回报率。Kim Joo Young说道: “通过TUNE反欺诈解决方案,我们在同时运行多个全球发布活动时,可以拥有最精细准确的数据,从而有效地监测和处理异常行为。进而防止广告费用的浪费。“

  来自Twitter的资深效果营销专家Nick Quan对于合作伙伴TUNE此次发布最新反欺诈成果,第一时间表达了肯定与支持: “欺诈现象扰乱行业秩序、浪费广告预算,并且严重阻碍效果营销的数据评估和分析决策,这在业界一直是一个头痛的问题。” Nick谈到最欣赏此次反欺诈行动的一点,便是终于有一个声音号召行业链条上的多方从业者去联合彼此的力量,共同探讨欺诈,采取一致的行动去对抗。 “我们将探索更加信息透明、数据公开的方式去合力解决欺诈问题,营销人员和广告主将更加高效地追踪、识别各种各样的欺诈手段,加强欺诈监测和流量净化。Twitter相信随着联合行动的开展,数据会愈发透明,流量会愈发优质,整个行业会朝向一个更融合开放、互惠互利、高速发展的方向迈进。”

  针对此次TUNE防欺诈解决方案的发布,TUNE首席执行官Peter Hamilton说:“至今,关于欺诈的话题讨论都充斥着敌意、抱怨、不知所措,有人指出供应商售卖完全没有透明度的黑盒子(black box)解决方案”。对此他表示,“TUNE坚信,透明、开放是唯一的答案。移动营销人及广告联盟应该关注那些持续有效、消除壁垒的真实数据,联合彼此的力量,共同对抗广告欺诈。”

本文标题:全新解决方案-静态新闻分页的js解决方案
本文地址: http://www.61k.com/1135596.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1