1.ecshop的主体结构 <script type="Text/Javascript" language="JavaScript"> <!-- {literal} if (window.top != window) { window.top.location.href = document.location.href; } {/literal} //--> </script> <frameset rows="76,*" framespacing="0" border="0"> <frame src="index.php?act=top" id="header-frame" name="header-frame" frameborder="no" scrolling="no"> <frameset cols="180, 10, *" framespacing="0" border="0" id="frame-body"> <frame src="index.php?act=menu" id="menu-frame" name="menu-frame" frameborder="no" scrolling="yes"> <frame src="index.php?act=drag" id="drag-frame" name="drag-frame" frameborder="no" scrolling="no"> <frame src="index.php?act=main" id="main-frame" name="main-frame" frameborder="no" scrolling="yes"> </frameset> </frameset> <frameset rows="0, 0" framespacing="0" border="0"> <frame src="http://api.ecshop.com/record.php?mod=login&url={$shop_url}" id="hidd-frame" name="hidd-frame" frameborder="no" scrolling="no"> </frameset>
top表示最顶级的窗口,也就是最外层的窗口。如果一个大窗口中嵌套了几个小窗口,那么在小窗口中使用top就表示最外面的大窗口,就是这个意思了。
<li><a href="javascript:window.top.frames['main-frame'].document.location.reload();window.top.frames['header-frame'].document.location.reload()">{$lang.refresh}</a></li> 刷新
document 表示的是一个文档对象,windows 表示一个窗口对象。 一个窗口下面可以有很多的document对象。每个document 都有 一个URL。 但是,这不是所有的区别。当你ctrl + F5 一个链接 http://www.jb51.net/#server 打印 alert(document.URL ); 和 alert(windows.location.href); 发现,这两个的值不一样, document.URL : http://www.jb51.net/ windows.location.href :http://www.jb51.net/#server 所以,如果要用 fragment 进行相应的处理的话,最好是用 windows.location.href 否则会出现很奇怪的错误。
2.ecshop的地区,支付方式,配送方式 $smarty->assign('countries', get_regions()); $smarty->assign('provinces', get_regions(1, 1)); $smarty->assign('cities', get_regions(2, 2)); function get_regions($type = 0, $parent = 0) { $sql = 'SELECT region_id, region_name FROM ' . $GLOBALS['ecs']->table('region') . " WHERE region_type = '$type' AND parent_id = '$parent'"; return $GLOBALS['db']->GetAll($sql); } //获取配送方式 $directory = ROOT_PATH . 'includes/modules/shipping'; $dir = @opendir($directory); $set_modules = true; $modules = array(); while (false !== ($file = @readdir($dir))) { if (preg_match("/^.*?.php$/", $file)) { if ($file != 'express.php') { include_once($directory . '/' . $file); } } } @closedir($dir); unset($set_modules); foreach ($modules AS $key => $value) { ksort($modules[$key]); } ksort($modules);