【问题标题】:Expression engine style url segments with jQuery带有 jQ​​uery 的表达式引擎样式 url 段
【发布时间】:2011-06-09 11:55:33
【问题描述】:

大家好,

最近我与 EE 合作,对他们小而灵活的 url 分段功能印象深刻。

所以我认为它对 JS 开发很有用,听听你的想法和想法是如何做到的。

谁不知道,这里稍微解释一下:

EE url segment用于比较每个“/”之后的url部分值,它们有segment1“/”是域名后面的主要url部分值,segment2“/../”是下一个url部分值等等.

为什么我对它感兴趣?

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

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

如果第一个 url 段是 /contact 我将调用 JS 获取联系页面(验证等)。

如果第二段是 /get-to-us (/contact/get-to-us) 我将只调用 JS 获取 google map 等。

所以,问题是,如何使用 jQuery 获取和比较片段。

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

【问题讨论】:

    标签: javascript jquery expressionengine


    【解决方案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}
    

    等等……

    我知道这并不能回答您的具体问题,但它似乎是实现目标的更便宜的方式。

    【讨论】:

      【解决方案2】:

      我同意 D-Rock 的观点。基于 URL 动态拉入 JavaScript 的想法似乎需要做很多工作,而投资回报却很少——更不用说增加网站的复杂性和维护了。

      但是,为了实现您的目标,有几种方法可以实现:

      • 将当前 URL 的 JavaScript 嵌入到该页面的模板中(不需要条件,但并非所有 JavaScript 都在一个位置)。
      • 在每个页面上引用站点范围的嵌入/sn-p,然后使用条件仅显示您需要的内容(如 D-Rock 所建议的那样)。

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

      无论您打算如何使用条件句,在Simple or Advanced Conditionals 之间进行选择时,请使用在高级条件句之前使用简单条件句——这是经过验证的performance recommendation

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-10
        • 2012-02-13
        • 2011-08-21
        • 2014-08-05
        • 1970-01-01
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多