求助,如下 HTML 代码,套到程序上时,提示错误。

2015-09-19 21:28:51 +08:00
 binghe
而且有几条内容就跳几个窗口出来。



出错的是 IE8 。 IE10 和 chrome 就没有问题。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=zh-CN dir=ltr>
<HEAD>
<META content="IE=7.0000" http-equiv="X-UA-Compatible">
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>">
<TITLE>人员管理</TITLE>
<LINK rel=stylesheet type=text/css href="css/rygl.css">
<SCRIPT type=text/javascript src="js/jquery-1.11.1.min.js"></SCRIPT>
<SCRIPT type=text/javascript>
$(function ($){

function initTabs (tabs,tabcons,index ){
tabs.on ('mouseenter',function (){
var $this = $(this );
if ($this.hasClass ("current")){return;}
$this.siblings (".current").removeClass ("current");
$this.addClass ("current");
tabcons.eq (index ).hide ();
index = $this.index ();
tabcons.eq (index ).show ();
});
}
//initTabs ($('#J_tab1 .tab'),$('#J_tab1 .tab_con'),0 );

$(".profile").mouseenter (function (){$(this ).addClass ("hover");}).mouseleave (function (){$(this ).removeClass ("hover");});


});
</SCRIPT>
<BODY>
<DIV class="g-body f-cb">
<!--右侧内容开始-->
<DIV class=g-main>
<DIV id=J_tab1>
<DIV class=tab1>
<UL class=f-cb>
<LI class="tab current"><A>个人档案</A> </LI>
<LI class=tab><A
href="dangan_list.htm">离职人员档案</A> </LI>
<LI class="tab last"></LI>
</UL></DIV>
{dede:datalist}
<DIV class=tab_con>
<DIV class=panel2>
<DIV class="profile f-cb">
<DIV class=avatar><IMG onerror="this.src='/bgy/resources/bgy/images/people.png'" src="rygl/people.png"></DIV>
<DIV class="content f-pr">
<?php
$sql="select * from #@__addon17 where aid=".$fields['id'];
$data=$db->GetOne ($sql );
?>
<DIV class=edit1><A class=a1 href="archives_do.php?aid={dede:field.id/}&dopost=editArchives">编辑</A>
<A class=a1 href="javascript:dele ('59')">删除</A></DIV>
<H4><A href="/plus/view.php?aid={dede:field.id/}" target=_blank>{dede:field.title/}</A></H4>
<SPAN style="MARGIN-LEFT: 16px">班长</SPAN>
<P>测试:男,生于 2015 年 9 月 5 日 ,班长,河北省石家庄市新华区人,共青团员, 2014 年 12 月 11 日参加工作,大专(测试)。</P>
<TABLE class=statistics width="100%" align=center>
<TBODY>
<TR>
<TD>培训<A href=""><SPAN class=num>0</SPAN></A>次</TD>
<TD>受表彰<A href=""><SPAN class=num>0</SPAN></A>次</TD>
<TD>被惩罚<A href=""><SPAN class=num>0</SPAN></A>次</TD>
<TD>工资<A href="" target=_blank><span class="num">3</span></A><A href="" target=_blank></A>档</TD>
<TD>&nbsp;</TD></TR></TBODY></TABLE></DIV></DIV></DIV>
{/dede:datalist}
</DIV></DIV></DIV></DIV><!--右侧内容结束-->
<DIV></DIV>
</BODY></HTML>
2813 次点击
所在节点    程序员
5 条回复
binghe
2015-09-19 21:30:05 +08:00
这是 PHP 代码:

<?php
/**
* 内容列表
* content_s_list.php 、 content_i_list.php 、 content_select_list.php
* 均使用本文件作为实际处理代码,只是使用的模板不同,如有相关变动,只需改本文件及相关模板即可
*
* @version $Id: content_list.php 1 14:31 2010 年 7 月 12 日 Z tianya $
* @package DedeCMS.Administrator
* @copyright Copyright (c ) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once (dirname (__FILE__).'/config.php');
require_once (DEDEINC.'/typelink.class.php');
require_once (DEDEINC.'/datalistcp.class.php');
require_once (DEDEADMIN.'/inc/inc_list_functions.php');

$cid = isset ($cid ) ? intval ($cid ) : 0;
$channelid = isset ($channelid ) ? intval ($channelid ) : 0;
$mid = isset ($mid ) ? intval ($mid ) : 0;

if (!isset ($keyword )) $keyword = '';
if (!isset ($flag )) $flag = '';
if (!isset ($arcrank )) $arcrank = '';
if (!isset ($dopost )) $dopost = '';

//检查权限许可,总权限
CheckPurview ('a_List,a_AccList,a_MyList');

//栏目浏览许可
$userCatalogSql = '';
if (TestPurview ('a_List'))
{
;
}
else if (TestPurview ('a_AccList'))
{
if ($cid==0 && $cfg_admin_channel == 'array')
{
$admin_catalog = join (',', $admin_catalogs );
$userCatalogSql = " arc.typeid IN ($admin_catalog ) ";
}
else
{
CheckCatalog ($cid, '你无权浏览非指定栏目的内容!');
}
if (TestPurview ('a_MyList')) $mid = $cuserLogin->getUserID ();

}

$adminid = $cuserLogin->getUserID ();
$maintable = '#@__archives';
setcookie ('ENV_GOBACK_URL', $dedeNowurl, time ()+3600, '/');
$tl = new TypeLink ($cid );

//----------------------------------------
//在不指定排序条件和关键字的情况下直接统计微表
//----------------------------------------
if (empty ($totalresult ) && empty ($keyword ) && empty ($orderby ) && empty ($flag ))
{
$tinyQuerys = array ();

if (!empty ($userCatalogSql ))
{
$tinyQuerys[] = str_replace ('arc.', '', $userCatalogSql );
}

if (!empty ($channelid ) && empty ($cid ))
{
$tinyQuerys[] = " channel = '$channelid' ";
}
else
{
$tinyQuerys[] = " channel>0 ";
}

if (!empty ($arcrank ))
{
$tinyQuerys[] = " arcrank='$arcrank' ";
}
else
{
$tinyQuerys[] = " arcrank > -2 ";
}

if (!empty ($mid ))
{
$tinyQuerys[] = " mid='$mid' ";
}

if (!empty ($cid ))
{
$tinyQuerys[] = " typeid in (".GetSonIds ($cid ).") ";
}

if (count ($tinyQuerys )>0 )
{
$tinyQuery = "WHERE ".join (' AND ',$tinyQuerys );
}
// 缓存处理
$sql = "SELECT COUNT (*) AS dd FROM `#@__arctiny` $tinyQuery ";
$cachekey = md5 ($sql );
$arr = GetCache ('listcache', $cachekey );
if (empty ($arr ))
{
$arr = $dsql->GetOne ($sql );
SetCache ('listcache', $cachekey, $arr );
}
$totalresult = $arr['dd'];
}

if ($cid==0 )
{
if ($channelid==0 )
{
$positionname = '所有栏目&gt;';
}
else
{
$row = $tl->dsql->GetOne ("SELECT id,typename,maintable FROM `#@__channeltype` WHERE id='$channelid'");
$positionname = $row['typename']." &gt; ";
$maintable = $row['maintable'];
$channelid = $row['id'];
}
}
else
{
$positionname = str_replace ($cfg_list_symbol," &gt; ",$tl->GetPositionName ())." &gt; ";
}

//当选择的是单表模型栏目时,直接跳转到单表模型管理区
if (empty ($channelid )
&& isset ($tl->TypeInfos['channeltype']))
{
$channelid = $tl->TypeInfos['channeltype'];
}
if ($channelid < -1 )
{
header ("location:content_sg_list.php?cid=$cid&channelid=$channelid&keyword=$keyword");
exit ();
}


// 栏目大于 800 则需要缓存数据
$optHash = md5 ($cid.$admin_catalogs.$channelid );
$optCache = DEDEDATA."/tplcache/inc_option_$optHash.inc";

$typeCount = 0;
if (file_exists ($cache1 )) require_once ($cache1 );
else $cfg_Cs = array ();
$typeCount = count ($cfg_Cs );
if ( $typeCount > 800 )
{
if (file_exists ($optCache ))
{
$optionarr = file_get_contents ($optCache );
} else {
$optionarr = $tl->GetOptionArray ($cid, $admin_catalogs, $channelid );
file_put_contents ($optCache, $optionarr );
}
} else {
$optionarr = $tl->GetOptionArray ($cid, $admin_catalogs, $channelid );
}

$whereSql = empty ($channelid ) ? " WHERE arc.channel > 0 AND arc.arcrank > -2 " : " WHERE arc.channel = '$channelid' AND arc.arcrank > -2 ";

$flagsArr = '';
$dsql->Execute ('f', 'SELECT * FROM `#@__arcatt` ORDER BY sortid ASC');
while ($frow = $dsql->GetArray ('f'))
{
$flagsArr .= ($frow['att']==$flag ? "<option value='{$frow['att']}' selected>{$frow['attname']}</option>\r\n" : "<option value='{$frow['att']}'>{$frow['attname']}</option>\r\n");
}


if (!empty ($userCatalogSql ))
{
$whereSql .= " AND ".$userCatalogSql;
}
if (!empty ($mid ))
{
$whereSql .= " AND arc.mid = '$mid' ";
}
if ($keyword != '')
{
$whereSql .= " AND ( CONCAT (arc.title,arc.writer ) LIKE '%$keyword%') ";
}
if ($flag != '')
{
$whereSql .= " AND FIND_IN_SET ('$flag', arc.flag ) ";
}
if ($cid != 0 )
{
$whereSql .= ' AND arc.typeid IN ('.GetSonIds ($cid ).')';
}
if ($arcrank != '')
{
$whereSql .= " AND arc.arcrank = '$arcrank' ";
$CheckUserSend = "<input type='button' class='coolbg np' onClick=\"location='catalog_do.php?cid=".$cid."&dopost=listArchives&gurl=content_list.php';\" value='所有文档' />";
}
else
{
$CheckUserSend = "<input type='button' class='coolbg np' onClick=\"location='catalog_do.php?cid=".$cid."&dopost=listArchives&arcrank=-1&gurl=content_list.php';\" value='稿件审核' />";
}

$orderby = empty ($orderby ) ? 'id' : preg_replace ("#[^a-z0-9]#", "", $orderby );
$orderbyField = 'arc.'.$orderby;

$query = "SELECT arc.id,arc.typeid,arc.senddate,arc.flag,arc.ismake,
arc.channel,arc.arcrank,arc.click,arc.title,arc.color,arc.litpic,arc.pubdate,arc.mid
FROM `$maintable` arc
$whereSql
ORDER BY $orderbyField DESC";

if (empty ($f ) || !preg_match ("#form#", $f )) $f = 'form1.arcid1';

//初始化
$dlist = new DataListCP ();
$dlist->pageSize = 30;

//GET 参数
$dlist->SetParameter ('dopost', 'listArchives');
$dlist->SetParameter ('keyword', $keyword );
if (!empty ($mid )) $dlist->SetParameter ('mid', $mid );
$dlist->SetParameter ('cid', $cid );
$dlist->SetParameter ('flag', $flag );
$dlist->SetParameter ('orderby', $orderby );
$dlist->SetParameter ('arcrank', $arcrank );
$dlist->SetParameter ('channelid', $channelid );
$dlist->SetParameter ('f', $f );

//模板
if (empty ($s_tmplets )) $s_tmplets = 'templets/userinfo_list.htm';
$dlist->SetTemplate (DEDEADMIN.'/'.$s_tmplets );

//查询
$dlist->SetSource ($query );

//显示
$dlist->Display ();
// echo $dlist->queryTime;
$dlist->Close ();
Web
2015-09-19 21:54:05 +08:00
这问题视乎是浏览器问题

http://jingyan.baidu.com/article/c910274bc25c07cd361d2dc7.html

这个连接貌似是你这种情况。你看看

或者你加 这个代码( IE8 下有效):

<SCRIPT LANGUAGE="JavaScript">

<!--

function stopError () {
return true;
}

window.onerror = stopError;

// -->


</SCRIPT>
SoloCompany
2015-09-19 22:46:17 +08:00
so
明显是触发了死循环了啊(准确的说,应该是死递归)
比如,某个 onchange 事件修改了自身的值,在某些奇葩浏览器上又触发了自身
xfspace
2015-09-19 22:49:43 +08:00
解决办法, ban 掉 IE 浏览器~
binghe
2015-09-19 22:52:00 +08:00
@Web 哥们,按照百度经验那个方法不管用。我的环境是 win2003+IE8.
<SCRIPT LANGUAGE="JavaScript">

<!--

function stopError () {
return true;
}

window.onerror = stopError;

// -->


</SCRIPT>
这个也不管用,加上后还是弹的很欢乐。



@SoloCompany 能更加详细的指点一下吗?你说的那个东西对我来说太高深了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/222064

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX