2011-06-09 74 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使用簡單的條件語句。