2011-06-09 38 views
0

好日子伙计,表达式引擎风格的URL段

最近,我曾与EE并与他们小,但灵活的URL部分功能相当深刻的印象。

所以我认为它在JS开发中会很有用,听听你的想法和想法是如何实现的。

谁也不知道,这里是一点解释:

EE URL段用完后,每个“/”来比较URL的一部分价值,他们有SEGMENT1“/”,即域名后,主URL部分价值,segment2“/../”即下一个url部分值等。

为什么我对它感兴趣?

我想创建一个JS文件,并只在我想要的页面中调用其中的部分。

例如,如果第一个网址段为空,我将调用用于主页的JS。

如果第一个网址是/ contact,我会为联系页面(验证等)调用JS。

如果第二段/获取到我们(/联系人/获取到我们)我会打电话给JS只为谷歌地图等

所以,问题是,如何利用和比较段与jQuery。

P.S. EE网站上的说明http://expressionengine.com/wiki/URL_Segment_Variables/

回答

1

这似乎比您需要做得更多的工作。为什么不在你的模板中有条件加载不同的JS文件?

{if segment_1 == 'contact' && segment_2 == ''} 
<script type="text/javascript" src="/assets/js/validation.js"></script> 
{/if} 

{if segment_1 == 'contact' && segment_2 == 'get-to-us'} 
<script src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="/assets/js/map.js"></script> 
{/if} 

等...

我知道这并不能回答你的具体问题,但它似乎是要完成你的目标是便宜的方式。

1

我同意D-Rock。根据URL动态调用JavaScript的想法看起来像是很多工作,很少有投资回报—更不用说增加站点的复杂性和维护。

但是,要实现自己的目标,有接近这几方面:

  • 嵌入JavaScript的当前网址到该网页的模板(没有条件语句需要,但不是所有的JavaScript是一个地方)。
  • 在每个页面上引用站点范围内的嵌入/片段,然后使用条件仅显示您需要的内容(如D-Rock所建议的)。

根据您的需要或需求,你可能会发现更容易简单地包括所有网站的JavaScript到一个外部文件,并允许浏览器下载并缓存文件。这具有非常易于维护的优点,并且会减少后续的页面加载(因为浏览器可以从其缓存中加载文件)。

但是你打算使用条件,Simple or Advanced Conditionals之间进行选择时,前高级条件语句 —这是一个成熟的performance recommendation使用简单的条件语句。