【问题标题】:Extract src attribute from script tag and parse according to particular matches从脚本标签中提取 src 属性并根据特定匹配进行解析
【发布时间】:2011-03-13 11:21:03
【问题描述】:

因此,我必须使用 JavaScript 确定专有 CRM 中的页面类型。确定页面类型(即前端唯一一致的区别)的唯一方法是检查 src 属性以 /modules/ 开头的脚本标记(在许多列表中)。

在标题中十几个脚本标签的列表中,每个页面都有以下格式的一行

 <script src="/modules/example/includes/sample.js" type="text/javascript"></script> 

现在,脚本标签的顺序永远不会相同,但是,总是有一个脚本有 /modules/blah。我需要将 blah 提取到我的脚本中才能检测它是什么类型的页面。

那么,我如何使用 JavaScript 或 jQuery 提取脚本标签的 src 值,其中 src 以 /modules 开头,并将之后的值(上面示例中的“示例”)存储为 javascript 变量?

【问题讨论】:

    标签: javascript jquery parsing


    【解决方案1】:

    好吧,您可以从收集所有脚本元素开始。使用 jQuery,就这么简单

    var scripts = $("script");
    

    然后将该设置限制为具有src 属性的元素:

    var scripts = $("script[src]");
    

    ...并进一步将其限制为 src attribute beginning with "/modules/":

    var scripts = $("script[src^='/modules/']");
    

    ...根据您的描述,应该会产生一组恰好一个元素,您现在可以从中提取 src 属性值本身:

    var path = $("script[src^='/modules/']").attr('src');
    

    好的,这很容易 - 现在提取路径的下一部分。有很多方法可以做到这一点,但拆分又快又笨:使用“/”作为分隔符创建一个部分数组,然后选择第三个元素(将是“模块”之后的那个):

    var pathPart = $("script[src^='/modules/']").attr('src').split('/')[2];
    

    显然,这完全取决于您作为示例使用的脚本路径的确切格式,但它应该让您很好地了解如何开始...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2013-04-06
      • 2013-07-01
      • 1970-01-01
      • 2011-01-11
      相关资源
      最近更新 更多