我的名字是曼努埃爾,我是一名網頁設計專業的學生,並開始採取我的第一步網頁設計。最近,我試圖驗證「onload」和XHTML驗證的問題
這個網站:
http://accesosnormalizados.com
我使用W3C驗證,起初我發現了大約30個錯誤,並且能夠改正所有除一個,說:「沒有屬性
「onload」'。
顯然不支持XHTML onload標籤,並且我使用了使用onload的稱爲垂直菜單的Joomla擴展。這是一個免費的擴展,運行良好,但我發現它有一些錯誤,特別是在驗證網站時。
這是爲擴展PHP代碼:
get('menutype', 'mainmenu');
$qry = "SELECT id, name,parent, link,type,browserNav FROM #__menu WHERE menutype = '".$menutype."' AND published = 1 ORDER BY ordering";
$database->setQuery($qry);
$rows = $database->loadObjectList();
if(isset($GLOBALS['vertical_menu'])) $GLOBALS['vertical_menu']++;
else $GLOBALS['vertical_menu'] = 0;
function getMenuChildList($rows, $parentId) {
$childRows = array();
foreach ($rows as $row) {
if ($row->parent == $parentId) {
$childRows[] = $row;
}
}
return $childRows;
}
function drawVerticalMenu($rows, $showsubcats, $parentId = 0) {
$categories = $showsubcats || !$parentId ? getMenuChildList($rows, $parentId) : array();
if ($parentId) {
if (!count($categories)) {
echo '';
return;
} else echo '';
echo '';
} else echo '';
echo '';
foreach ($categories as $category) {
$link = $category->link. (preg_match("/^http:\/\/|^https:\/\//",$category->link)? "" : '&Itemid='.$category->id);
$blank = $category->browserNav? ' target="_blank" ' : ' ';
echo 'id.'" class="menu">'.$category->name.' ';
drawVerticalMenu($rows, $showsubcats, $category->id);
}
echo '';
if ($parentId && count($categories)) echo '';
}
$document = &JFactory::getDocument();
$document->addScript('https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/dojo.xd.js');
$document->addScript('modules/mod_vertical_menu/script/menu.js');
$document->addStyleSheet('modules/mod_vertical_menu/style/menu.css');
$document->addCustomTag('
div#MenuContainer'.$GLOBALS['vertical_menu'].' table#VerticalMenu'.$GLOBALS['vertical_menu'].' {
width: '.$params->get('categorymenu_width', 150).'px;
opacity: '.$params->get('categorymenu_out', 0.8).';
FILTER: progid:DXImageTransform.Microsoft.Alpha(Opacity='.($params->get('categorymenu_out', 0.8)*100).');
}
');
echo '';
drawVerticalMenu($rows, $params->get('show_subcats', 1));
echo 'get('categorymenu_out', 0.8).',over : '.$params->get('categorymenu_over', 1).',duration : '.$params->get('categorymenu_fade', 300).',id : '.$GLOBALS['vertical_menu'].',width : '.$params->get('categorymenu_width', 150).'});" alt=""/>';
echo '';
?>
的問題是在末端:
echo '';
drawVerticalMenu($rows, $params->get('show_subcats', 1));
echo 'get('categorymenu_out', 0.8).',over : '.$params->get('categorymenu_over', 1).',duration : '.$params->get('categorymenu_fade', 300).',id : '.$GLOBALS['vertical_menu'].',width : '.$params->get('categorymenu_width', 150).'});" alt=""/>';
echo '';
?>
我認爲擴展使用onload事件來顯示子菜單,當用戶將鼠標指針移到它上面。
我想要的是用其他事件處理程序或XHTML支持的一些其他標籤替換onload,這與onload類似。
我會感激你的幫助......
你的問題似乎混淆了在頁面加載和鼠標懸停觸發的JavaScript事件?添加HTML輸出以獲得更多清晰度 –
@Shaun Hare:這是img的onload事件 –
這是W3C Validator在嘗試驗證頁面時給我的錯誤。 http://validator.w3.org/check?uri=http%3A%2F%2Faccesosnormalizados。com%2F&charset =%28detect +自動%29&doctype =內聯&組= 0 單擊鏈接,您將在224行上看到錯誤。您將看到HTML輸出和問題所在。 – Domadis