我的服务器上有一个JavaScript,我需要在调用URL时在JavaScript内设置值/调用函数。有没有这样做?从URL向JavaScript发布数据
UPDATE:
<script type="application/x-javascript" src="test-test.js"></script>
那它是如何其加载的HTML网站。我想在test-test.js中调用函数测试(e,e),将URL放在浏览器中,并使用e,e的某些值。
我的服务器上有一个JavaScript,我需要在调用URL时在JavaScript内设置值/调用函数。有没有这样做?从URL向JavaScript发布数据
UPDATE:
<script type="application/x-javascript" src="test-test.js"></script>
那它是如何其加载的HTML网站。我想在test-test.js中调用函数测试(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
。
(是的,我喜欢横幅式缩进所以起诉我。)
Thx ...非常有帮助:)我解决了这个问题 – Roskvist 2010-09-22 07:17:17
您可以使用address plugin以便能够通过在URL中一些状态低谷#
符号:http://my_site/my_page#your_condition
在HTML中你可以写这样的:对于futher帮助
<script>
$(function(){
// Init and change handlers
$.address.init().change(function(event) {
if (event.value == "your_condition")
run_my_finction();
});
)};
<script>
如果你想从浏览器的地址栏中执行JavaScript,你可以使用自调用函数:
javascript:(function() {
alert('Hello World');
/* Call the JavaScript functions you require */
})();
请扩大一点。你打电话给网址是什么意思?你在使用AJAX吗? – nico 2010-09-21 06:57:02
是你手动将URL放入浏览器(或点击链接)?如果你是,你需要把它放在查询字符串中(因为它是一个HTTP GET)。如果您发布到URL(HTTP POST),您可以阅读目标页面上的表单发布值并将它们注册到脚本中。 – RPM1984 2010-09-21 06:58:30
你正在运行JavaScript _on_服务器,还是在客户端? – thomasmalt 2010-09-21 06:58:59