[搜]

贴心猫-文档

js标签概述

  • 设想情景
    • 设想一下,一个站点有10w篇资讯,每篇资讯有几个广告,生成了htm静态文件;
    • 有一天,我们要把某个广告换下来,那这10w个静态文件,是否要重新更新一次???
    • 10w个不愿意!所以就用js标签来解决此问题。
  • 使用场景
    • js标签 用于 在静态文件中(当然也可以是动态文件),js动态显示一些信息块,如:
    • 动态显示广告信息块,
    • 动态显示 点击量,评论数,
    • 动态显示 评论列表 ……

js数据标签

  • 对应的 js标签
    • 参考上节的 数据标签,除分页Page标签外,都有对应的js标签;
    • 在原有类别前加小写js即可;
    • 所有属性,除了order,where外,其它几乎不变;
  • Demo
    • (js标签的news列表) 模板代码查看效果,
    • 查看效果页html源代码:模板解析结果:
      <div id='jsid_tags_{tpldir}_{tplname}_t1'><!--[{tpldir}/{tplname},t1][List][modid,news][limit,3]--></div>
    • {tpldir} 为模板目录下的子目录,{tplname} 为模板(文件)名
  • js效果渲染
    • 解析的结果并非最终效果,仅仅是一个标记位;
    • 此时需要加载系统的js,并运行一个js函数进行渲染:
    • 加载系统的js:
      <script src='/index.php?ajax-comjs&act=initJs&tpldir=demo'></script>
    • 运行js函数:<script>jtagSend()</script>
  • 重要提示
    • 常规数据,应尽量避免使用js标签调用;
    • 如果一定要用,应尽量避免复杂的条件和排序;
    • 为了安全(否则可任意在url中组装sql字句)起见,系统屏蔽了order,where属性;

js动态字段

  • 调用情景
    • 新闻模型为news,id为:2019-87-65ab
    • 评论模型为:nrem,网站留言模型为:gbook
    • 需要动态显示新闻的点击量,评论数;
  • Demo
    • 代码如下
      点击:<i id="jsid_field_news:2019-87-65ab:click">{=$click}<!--,add1--></i>次
      评论:<i id="cnt_nrem">0</i>条 (下一行会通过id=cnt_nrem属性吧结果更新到这此)
      评论:(<i id="jsid_count_nrem:2019-87-65ab">0<!--news,cnt_nrem--></i>条)
      网站留言:(<i id="jsid_count_gbook:0">0</i>条) //所有留言条数
  • 代码/效果

js广告调用

  • 调用情景
    • 有广告模型为adpicadxxx
    • 广告位(栏目分类)为:aphomapinnyyhom
    • 动态显示如上广告;
  • Demo
    • 代码如下
      <div id='jsid_advs_adv1'><!--adpic:aphom--></div>
      <span id='jsid_advs_adv2'><!--adpic:apinn--></span>
      <div id='jsid_advs_advx'><!--adxxx:yyhom--></div>
  • 代码/效果
  • 规范:
    • 广告的id属性,用jsid_advs_开头,且同一页不要重复;
    • 格式,广告模型:广告栏目,用<!--model:catid-->包起来,是避免广告加载前显示这些字符;
    • 多个js广告标签,统计标签,js常规标签,会合并,减少http请求;
    • 但因为url地址长度有限,目前同一页js标签太多,参数超过2000会分多次获取;
  • 广告被屏蔽说明
    • 某些浏览器,会屏蔽ad,adv,banner等字符开头的广告图片;
    • html-dom, css-class, 文件夹名称, 文件名称·······,都尽量不用这些关键词;
    • 本系统默认影响:初步测试,暂未影响;
    • 广告终结者规则语法(参考)。