我的服务器上有一个javascript,我需要在调用URL时设置一个值/在javascript中调用一个函数。无论如何都这样做?
更新
<script type="application/x-javascript" src="test-test.js"></script>
这是如何在HTML网站上加载的。我想在test-test.js中调用函数test(e,e),在浏览器中输入带有e,e值的值的URL。
答案 0 :(得分:2)
除非您使用少数使用服务器端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 : ""
}
因此,如果网址是:
http://www.yoursite.com/somepage.html?name=John%20Doe&occupation=layabout
如果你致电getUrlQueryString()
,你会回来name=John Doe&occupation=layabout
。如果您致电getUrlQueryString("name")
,则会返回John Doe
。
(是的,我喜欢横幅式的缩进。所以起诉我。)
答案 1 :(得分:1)
您可以使用address plugin通过#
符号在网址中传递某些条件:http://my_site/my_page#your_condition
<script>
$(function(){
// Init and change handlers
$.address.init().change(function(event) {
if (event.value == "your_condition")
run_my_finction();
});
)};
<script>
请参阅this exaple以获取进一步的帮助。
答案 2 :(得分:0)
如果您想从浏览器的地址栏执行JavaScript,您可以使用自动调用功能:
javascript:(function () {
alert('Hello World');
/* Call the JavaScript functions you require */
})();