我的页面上有一个jQuery点击功能,触发了反馈表单div的打开。基本上我想指定一个触发此事件的URL,而不需要点击它。比如foo.com?formopen
这可能吗?我想我需要通过网址传递一些数据,但不知道如何去做。
答案 0 :(得分:9)
在您的网址中使用哈希,如:
foo.com#formopen
然后在加载中找到哈希,如:
$(function(){
if (window.location.hash){
var hash = window.location.hash.substring(1);
if (hash == "formopen"){
openFeedbackForm();
}
}
});
<强>样本:强>
没有哈希的演示:http://fiddle.jshell.net/J5cxc/show(无警报)
使用哈希进行演示:http://fiddle.jshell.net/J5cxc/show/#foobar(已提醒警报)
答案 1 :(得分:0)
嘿,有很多方法可以做到这一点。
方法一 - 使用查询字符串参数
在您的网址传递查询字符串值,表示应该打开表单。
所以你的网址是
www.foo.com?feedback=true
然后在JS中你可以这样做:
var params = {};
var ps = window.location.search.split(/\?|&/);
for (var i = 0; i < ps.length; i++) {
if (ps[i]) {
var p = ps[i].split(/=/);
params[p[0]] = p[1];
}
}
if(params.feedback){
$(".feedback-div").show();
}
方法二 - 在网址
中使用哈希标记您的网址将如下:
www.foo.com#feedback
在你的JS中:
if(window.location.href.indexOf("#feedback") > -1) {
$(".feedback-div").show();
}