我的服务器上有一个 javascript,我需要在调用 URL 时在 javascript 中设置一个值/调用一个函数。有什么办法吗?
更新:
<script type="application/x-javascript" src="test-test.js"></script>
这就是它在 HTML 站点上的加载方式。我想在 test-test.js 中调用函数 test(e,e),方法是将 URL 放入浏览器中,其中包含 e,e.. 的一些值。
最佳答案
除非您使用的是为数不多的采用服务器端 JavaScript 的 Web 服务器之一,否则您的脚本将在页面加载后在浏览器中运行。如果您想在脚本中包含来自 URL 的信息(假设您可以使用查询字符串而不更改服务器的行为),您可以使用 window.location.search
从问号开始。
此函数将返回整个查询字符串(不带问号)或与您输入的名称值相匹配的分号分隔值列表:
function getUrlQueryString(param) {
var outObj = {};
var qs = window.location.search;
if (qs != "") {
qs = decodeURIComponent(qs.replace(/\?/, ""));
var paramsArray = qs.split("&");
var length = paramsArray.length;
for (var i=0; i<length; ++i) {
var nameValArray = paramsArray[i].split("=");
nameValArray[0] = nameValArray[0].toLowerCase();
if (outObj[nameValArray[0]]) {
outObj[nameValArray[0]] = outObj[nameValArray[0]] + ";" + nameValArray[1];
}
else {
if (nameValArray.length > 1) {
outObj[nameValArray[0]] = nameValArray[1];
}
else {
outObj[nameValArray[0]] = true;
}
}
}
}
var retVal = param ? outObj[param.toLowerCase()] : qs;
return retVal ? retVal : ""
}
因此,如果 URL 是:
http://www.yoursite.com/somepage.html?name=John%20Doe&occupation=layabout
如果您调用 getUrlQueryString()
,您将返回 name=John Doe&occupation=layabout
。如果您调用 getUrlQueryString("name")
,您将返回 John Doe
。
(是的,我喜欢横幅式缩进。所以起诉我。)
关于javascript - 从 URL 将数据发布到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3757929/