我正在制作HTML5游戏,每个级别都有一个新的HTML页面。每个级别的结果都存储在JS变量中。
如何使用网址将该信息传递到下一页?
我在考虑像
这样的东西
www.example.com/level5.php?lvl1=10&lvl2=15&lvl3=13
等等。
如何将JS变量值放入此类地址?
我不需要使用JS访问此信息,但我只需要添加信息。
谢谢!
答案 0 :(得分:0)
您可以使用jQuery更改链接的“href”属性值:
$("#lvl2link").attr("href","www.example.com/level2.php?lvl1=" + score);
没有jQuery就可以实现同样的效果。
这是一个JSFiddle:http://jsfiddle.net/ZPv93/1/
答案 1 :(得分:0)
没有jQuery:
var lvl1 = "10";
var lvl2 = "15";
window.location.href = "www.example.com/level5.php?lvl1="+lvl1+"&lvl2="+lvl2;
然后使用GET在PHP中创建变量:
$lvl1 = $_GET['lvl1'];
$lvl2 = $_GET['lvl2'];
答案 2 :(得分:0)
您可以使用以下代码段访问Javascript中的$ _GET-Variables:
(function(){ // Import GET Vars
document.$_GET = [];
var urlHalves = String(document.location).split('?');
if(urlHalves[1]){
var urlVars = urlHalves[1].split('&');
for(var i=0; i<=(urlVars.length); i++){
if(urlVars[i]){
var urlVarPair = urlVars[i].split('=');
document.$_GET[urlVarPair[0]] = urlVarPair[1];
}
}
}
})();
要访问它们,请使用:
document.$_GET['lvl1']
信用: http://failchad.blogspot.ch/2009/01/accessing-get-variables-in-javascript.html
要添加信息,请使用@tommyf
答案 3 :(得分:0)
包含每个结果的session variable怎么样?只要会话处于活动状态(通常意味着只要浏览器处于打开状态),就会在每个级别结束时更新分数。如果会话中没有分数,则应加载第一级。为了保存进度,您可以提供用户下次需要输入的“进度键”。
作为替代方案,如果您只想使用javascript,则可以查看HTML5 LocalStorage。如果您考虑到浏览器已经具有HTML5兼容性,那么您的情况可能是一个很好的选择。
GET参数的问题在于,无论您选择将高分存储在网址中的名称如何,人们都会调查并很快能够改变他们的高分,以解锁任何奖励将带来好成绩,甚至到达垃圾邮件列表的顶部(即:排名#1:购买此blablabla $ xx blabla.com(9999999999积分))。 LocalStorage有点难以作弊(但很容易),而会话变量则更难以作弊。