Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我在Javascript代码中添加某一行时,它会删除我的HTML函数的onclick函数。_Javascript_Html_Function_Cookies_Browser - Fatal编程技术网

当我在Javascript代码中添加某一行时,它会删除我的HTML函数的onclick函数。

当我在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() +

我正在编写一个游戏,我需要用cookies保存一些变量。我添加了一行代码,它应该执行一个Javascript函数,该函数将检查用户是否已经登录该网站并创建了一个帐户,如果没有,它将要求输入用户名。然而,当我添加了应该运行函数的行时,函数失败了,它也失败了。 这是我代码的一部分:

<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在另一个浏览器中测试这个问题。非常感谢。它现在工作得很好。我复制和粘贴了很多东西,所以我一定是被我所拥有和没有添加的东西弄糊涂了。