%13 %733 %2014 %00:%七 %AM

joomla如何控制js加载的顺序

作者
给本项目评分
(0 得票数)

在自己开发组件的过程中,经常会遇到的一个问题是加载自定义的js.并且同时希望自定义的js能够加载在默写特定的js之后,比喻jQuery之后。那么如何解决这个问题?

这是一个很有挑战性的问题,具体的解决方案有下面几种

1,当在不同的页面都加载相同的js的时候,系统只会加载一个js.

举例来说,如果你js需要jquery。那么你只需要在你的js前再加你需要的js加载一次就行了。系统会保证jquery在你的js前面被加载。

2,另外的一种方案就是使用自定义的标签。因为joomla的自定义标签总是加载在所有的js之后。

使用自定义标签的典型代码如下:

$document->addCustomTag('<script src="'.JURI::root(true).'/components/com_myname/assets/js/script.js" type="text/javascript"></script>');

 3,第3中方案就是响应系统的onBeforeRender事件,写一个插件。然后操作_scripts数组。这个数组保存了所有用于加载的js.典型的代码如下:

$document = JFactory::getDocument();
	
$scripts = $document->_scripts;

 本人使用第三中方案,制作了一个插件,该插件可以去掉所有的对google js的引用,从而加速网站的速度。在本网站中有下载。

 

 

阅读 4401 次数 最后修改于 %14 %639 %2014 %22:%七 %PM