Javascript 如何访问传递给<;的请求参数;脚本>;脚本源中的标记?

Javascript 如何访问传递给<;的请求参数;脚本>;脚本源中的标记?,javascript,html,Javascript,Html,我希望向要加载的JavaScript传递一个请求参数。然后可以将此参数用作脚本中的常量 fancybox 2.x如何要求v=2.1.0参数就是一个例子 通过fancybox源代码搜索,我无法确定这是如何使用的,CSS和JavaScript都需要它 我的主要要求是能够将应用程序上下文路径传递给处理ReST请求的JS <script type="text/javascript" src="<c:url value="/js/rest.js?ctx=${pageContex

我希望向要加载的JavaScript传递一个请求参数。然后可以将此参数用作脚本中的常量

fancybox 2.x如何要求
v=2.1.0
参数就是一个例子

通过fancybox源代码搜索,我无法确定这是如何使用的,CSS和JavaScript都需要它

我的主要要求是能够将应用程序上下文路径传递给处理ReST请求的JS

<script type="text/javascript"
        src="<c:url value="/js/rest.js?ctx=${pageContext.request['contextPath']}"/>"></script>

首先,您必须识别脚本(您可以给脚本标记一个id)。脚本位于
文档中。脚本
节点列表。然后获取它的
src
属性(一个字符串),在问号上拆分它,并获取结果数组的第二个元素。这可以进一步处理

比如:

var script = document.scripts[0]
   ,params = script.src.split('?')[1].split('&')
   ,paramsObj = {};

for (var i=0;i<params.length;i+=1){
  var keyvalue = params[i].split('=');
  paramsObj[keyvalue[0]] = keyvalue[1];
}
var script=document.scripts[0]
,params=script.src.split(“?”)[1]。split(“&”)
,paramsObj={};

对于(var i=0;i首先,您必须识别脚本(您可以给脚本标记一个id)。脚本位于
文档中。Scripts
节点列表。然后您获取它的
src
属性(一个字符串),在问号上拆分它,并获取结果数组的第二个元素。这可以进一步处理

比如:

var script = document.scripts[0]
   ,params = script.src.split('?')[1].split('&')
   ,paramsObj = {};

for (var i=0;i<params.length;i+=1){
  var keyvalue = params[i].split('=');
  paramsObj[keyvalue[0]] = keyvalue[1];
}
var script=document.scripts[0]
,params=script.src.split(“?”)[1]。split(“&”)
,paramsObj={};

对于(var i=0;i我不确定您到底想要实现什么

如果希望JavaScript能够从当前页面URL的查询字符串中读取值,可以执行以下操作:

// URL of current document is http://example.com/mypage.html?ctx=thingy
location.search.ctx; // thingy
但是,如果您想将一个参数从标记传递到JavaScript文件,为什么不事先在文档中设置它呢

<script>
    ctx = ${pageContext.request['contextPath']};
</script>

<script src="/js/rest.js"></script> // rest.js just references ctx directly.

ctx=${pageContext.request['contextPath']};
//js只是直接引用ctx。

我不确定你到底想达到什么目的

如果希望JavaScript能够从当前页面URL的查询字符串中读取值,可以执行以下操作:

// URL of current document is http://example.com/mypage.html?ctx=thingy
location.search.ctx; // thingy
但是,如果您想将一个参数从标记传递到JavaScript文件,为什么不事先在文档中设置它呢

<script>
    ctx = ${pageContext.request['contextPath']};
</script>

<script src="/js/rest.js"></script> // rest.js just references ctx directly.

ctx=${pageContext.request['contextPath']};
//js只是直接引用ctx。

如果可以使用jQuery,可以首先选择
src
属性以
/js/rest.js
开头的所有脚本,然后在
src
属性中获取参数

function getCtx(){    
  $("script[src^='/js/rest.js']").each(function(){
    return this.src.replace("/js/rest.js?ctx=", "");
  });
}

在其他情况下,您可能需要使用它。

如果您可以使用jQuery,您可以首先选择
src
属性以
/js/rest.js
开头的所有脚本,然后在
src
属性中获取参数

function getCtx(){    
  $("script[src^='/js/rest.js']").each(function(){
    return this.src.replace("/js/rest.js?ctx=", "");
  });
}

在其他情况下,您可能需要在其上使用。

哪里写的是必需的?我只看到一个示例。哪里写的是必需的?我只看到一个示例。