iframe自适应学习一例子

首先感谢 http://www.ccvita.com/376.html 现在说下跨域的iframe 自适应,
代码下载 http://www.ccvita.com/usr/uploads/demo/iframe/iframe.zip
解压后 main.html 和 agent.html 是在一个域名下,假设a.com
iframe.html 在另外域名下假设 b.com

A 站a.com 在main.html 里面用iframe框住b.com 下的iframe.html
iframe1

agent.html 直接上传就可以 B站 b.com 在b.com 下的iframe.html 里面要加入

 
function sethash(){     
hashH = document.documentElement.scrollHeight;      
urlC = "http://a.com/agent.html"; //注意这里!!!     
document.getElementById("iframeC").src=urlC+"#"+hashH; 
} 
window.onload=sethash;

在IE6、IE7、IE8、IE9、Firefox全系列、Chrome全系列均可以成功跨域控制高度

dedecms 生成栏目html缓慢的一个可能原因

在dede\makehtml_list_action.php 的文件行 101 处
//$lv->CountRecord();
有这样一处注释掉的代码,似乎DEDECMS的程序猿同学欲言又止
这一个计算某个栏目类有多少分页的代码居然不运行,从而导致后面一行

if($lv->TypeLink->TypeInfos['ispart']==0 && $lv->TypeLink->TypeInfos['isdefault']!=-1) $ntotalpage = $lv->TotalPage;
else $ntotalpage = 1;

导致这里面的 $ntotalpage 根本得不到值 (NULL),
因为 $lv->TotalPage 是在$lv->CountRecord  函数里面赋值
所以感觉特别奇怪。

从而想到,取消此处注释,让栏目生成HTML 分批进行

 //如果栏目的文档太多,分多批次更新
    if($ntotalpage <= $maxpagesize || $lv->TypeLink->TypeInfos['ispart']!=0 || $lv->TypeLink->TypeInfos['isdefault']==-1)
    {
        $reurl = $lv->MakeHtml('', '', $isremote);
        $finishType = TRUE;
    }
    else
    {
// 让代码进入此执行才是分批生成html
        $reurl = $lv->MakeHtml($mkpage, $maxpagesize, $isremote);
        $finishType = FALSE;
        $mkpage = $mkpage + $maxpagesize;
        if( $mkpage >= ($ntotalpage+1) ) $finishType = TRUE;
    }

ecshop 属性筛选在category.php 页面显示顺序错误,调整为何后台一致

在category.php 行 272处查找

$attr_list = $db->getAll($sql);
字样然后下面增加如下代码 
从phpsir_filter_code_start 到 phpsir_filter_code_end 中间部分
$attr_list = $db->getAll($sql);
//phpsir_filter_code_start
                $phpsir_tmp=$attr_list[0];
                $phpsir_sql= "select attr_values from " . $ecs->table('attribute') . " WHERE attr_id = '$phpsir_tmp[attr_id]' ";
                $phpsir_attribute = $db->getOne($phpsir_sql);  
                $phpsir_ga = explode("\n",$phpsir_attribute);
                $phpsir_new_attr_list = array();
                foreach($attr_list as $kk=>$vv)
                {
                    foreach($phpsir_ga as $kkk => $vvv){
                        if(trim($vv['attr_value']) == trim($vvv))
                        {
                            $phpsir_new_attr_list[$kkk] = $vv;
                        }
                    }
                }
                ksort($phpsir_new_attr_list);
                $attr_list = $phpsir_new_attr_list;
//phpsir_filter_code_end

前台显示例子如下

phpsir_filter_code1

 

代码在上面,或者如下图

phpsir_filter_code