当我在Javascript代码中添加某一行时,它会删除我的HTML函数的onclick函数。
我正在编写一个游戏,我需要用cookies保存一些变量。我添加了一行代码,它应该执行一个Javascript函数,该函数将检查用户是否已经登录该网站并创建了一个帐户,如果没有,它将要求输入用户名。然而,当我添加了应该运行函数的行时,函数失败了,它也失败了。 这是我代码的一部分:当我在Javascript代码中添加某一行时,它会删除我的HTML函数的onclick函数。,javascript,html,function,cookies,browser,Javascript,Html,Function,Cookies,Browser,我正在编写一个游戏,我需要用cookies保存一些变量。我添加了一行代码,它应该执行一个Javascript函数,该函数将检查用户是否已经登录该网站并创建了一个帐户,如果没有,它将要求输入用户名。然而,当我添加了应该运行函数的行时,函数失败了,它也失败了。 这是我代码的一部分: <script> function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() +
<script>
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function checkCookie() {
var username=getCookie("username");
if (username!="") {
alert("Welcome again " + username);
} else {
username = prompt("Please enter your username:", "");
if (username != "" && username != null) {
setCookie("username", username, 365);
}
}
}
</script>
<button id="open_market">Market</button>
<script>
checkCookie();
open_market.onclick = function() {
window.open("https://thenumnut.github.io/Wars-of-Shares/Market");
}
</script>
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
函数checkCookie(){
var username=getCookie(“用户名”);
如果(用户名!=“”){
警报(“再次欢迎”+用户名);
}否则{
用户名=提示(“请输入您的用户名:”,“”);
如果(用户名!=“”&&username!=null){
setCookie(“用户名”,用户名,365);
}
}
}
市场
checkCookie();
open_market.onclick=函数(){
窗口打开(“https://thenumnut.github.io/Wars-of-Shares/Market");
}
我为运行该函数添加的行是“checkCookie();”。在我添加该行之后,id为“open_market”的按钮在单击时不会响应。这让我觉得当我说“checkCookie();”时,代码在它前面的一行失败/崩溃了。
如果有人能找到这段代码的问题,我将不胜感激。如果您想查看我的完整代码,可以在代码中看到github链接到github上的我的代码。在JavaScript中,这通常是一个迹象,表明
checkCookie()中存在错误代码>。我一眼就看不到,但你的浏览器应该会显示他控制台中的bug
您可以在大多数浏览器(如Firefox、IE)中打开控制台,方法是右键单击页面上的某个位置,然后选择“检查元素”。现在切换到选项卡控制台
如果您不理解错误消息,只需将其发布到此处我添加了getCookie()函数,除此之外,只需在标记周围添加一点HTML,下面是代码:
<!DOCTYPE html> <html> <head> <script> function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return ""; }
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function checkCookie() {
var username=getCookie("username");
if (username!="") {
alert("Welcome again " + username);
} else {
username = prompt("Please enter your username:", "");
if (username != "" && username != null) {
setCookie("username", username, 365);
}
} } </script> </head> <body> <button id="open_market">Market</button> <script> checkCookie(); open_market.onclick = function() { window.open("https://thenumnut.github.io/Wars-of-Shares/Market"); } </script> </body> </html>
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(var i=0;i打开浏览器的开发工具。阅读错误消息
checkCookie();
调用具有var username=getCookie(“username”);
的函数
您尚未定义getCookie
函数,因此它会引发异常并停止执行。测试的第一个问题是,您正在使用的函数getCookie()没有在您提供的代码中定义。我现在测试它时,它工作得很好-我添加了getCookie()从您的github页面开始运行,当我单击“市场”按钮时,它会打开正确的页面。因此,我认为问题不在您发布的代码中。我是通过Github运行它的。这意味着它不会显示任何错误消息。此外,我在移动设备上使用Safari,因此无法检查元素。Github不会阻止浏览器中的开发工具工作。Safari在移动设备上运行。即使它运行了,也不会阻止您om在另一个浏览器中测试这个问题。非常感谢。它现在工作得很好。我复制和粘贴了很多东西,所以我一定是被我所拥有和没有添加的东西弄糊涂了。