大家好!
在某些情況
我們必須要取消joomla3的預設JS呼叫
例如:chosen.jquery.min.js
這個JS常常影響到一些版型
造成顯示異常或是不正確
所以今天我特別分享我常用的修改方式
//以下程式碼通常寫在模板的index.php裡面 $document = JFactory::getDocument();//呼叫文件類別 $headData = $document->getHeadData();//取得目前的HeadData $scripts = $headData['scripts'];//HeadData 陣列中有個scripts .放置要載入的JS $newScripts = array();//取代原本JS載入陣列 $noJs = array();//這邊放置哪一些JS要移除 $noJs[] = 'chosen.jquery.min.js'; foreach ($scripts as $js=>$v)//JS陣列迴圈 { $goJs = TRUE; foreach ($noJs as $findJs)//要移除的JS陣列迴圈 { if (strpos($js, $findJs))//如果符合 { $goJs = FALSE; } } if ($goJs)//如果通過 { $newScripts[$js] = $v;//放在新JS陣列中 } } $headData['scripts'] = $newScripts;//取代原有JS陣列 //css的取代也很類似 $styleSheets = $headData['styleSheets']; unset($styleSheets['/media/system/css/modal.css']);//這邊直接用unset $headData['styleSheets'] = $styleSheets;//取代原有的CSS陣列 //這邊可以直接修改headData中的script $headData['script']['text/javascript'] = str_replace("jQuery('select').chosen","jQuery('selectNone').chosen",$headData['script']['text/javascript']); //最後在放進去headData中 $document->setHeadData($headData);
當然
我這邊的修改方法也不一定正確
主要是針對在某些情況之下
必須要修改joomla3的預設JS載入
甚至是jquery的載入
給大家參考
感恩!
留言板
歡迎留下建議與分享!希望一起交流!感恩!