答案 0 :(得分:8)
您可以在该网页中放入代码来检查网址上的查询参数,然后根据找到的内容调用您想要的任何javascript函数。
在您的特定示例中,简化版本将如下所示:
// code that runs when page is loaded:
if (window.location.search == "?XYZ") {
XYZ();
}
或者如果你想让它运行那里存在的任何函数,你可以从字符串中提取它并运行那里的任何名称。
// code that runs when page is loaded:
if (window.location.search.length > 1) {
var f = window.location.search.substr(1); // strip off leading ?
try {
eval(f + "()"); // be careful here, this allows injection of javascript into your page
} catch(e) {/* handler errors here */}
}
允许在您的网页中运行任意javascript可能会或可能不会产生不良安全隐患。如果可能的话,最好只支持一组特定的预先存在的函数,这些函数是您查找并知道的,而不是像第二个例子那样执行任意的javascript。
答案 1 :(得分:2)
在网址栏中,您始终可以放置javascript:XYZ();
在此网址加载后尝试:http://jsfiddle.net/maniator/mmAxY/show/
答案 2 :(得分:0)
我相信:
if(location.href == ""){
xyz();
else{
}
答案 3 :(得分:0)
您可以使用window对象调用全局声明的函数:
function bar(str) {
alert("hello" + str);
}
// assuming location is "http://example.com?bar"
var fn = window.location.search.replace("?", "");
window[fn](" Dovhakiin"); // 'hello Dovhakiin'