私はゲームをコーディングしており、いくつかの変数をクッキーで保存する必要があります。私は、ユーザが既にウェブサイトにいて、アカウントを作ったかどうかをチェックするJavascript関数を実行するべき行を追加しました。もしそうでなければ、ユーザ名を尋ねます。しかし、関数を実行するはずの行を追加したときに関数が失敗したので、それを実行しました。 これは私のコードの一部です:Javascriptコードに特定の行を追加すると、HTML関数のonclick関数が削除されます。
<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>
私は機能を実行するために追加された行は、「checkCookie();」でした。その行を追加した後、idが "open_market"のボタンはクリックされても反応しません。これは、私が "checkCookie();"と言ったときにコードが失敗したり、その前の行でクラッシュしたと思います。 誰かがこのコードで問題を見つけることができたら、私はそれを高く評価します。私のコード全体を見たい場合は、github上のコードへのgithubリンクをコード内で見ることができます。
最初にテストする問題は、使用している関数getCookie()が、指定したコードで定義されていないことです。 – junkfoodjunkie
これは今テストしたところでうまくいきます - github-pageからgetCookie()関数を追加し、 "Market"ボタンをクリックすると正しいページが開きます。だから問題はあなたがここに投稿したコードにはない、と私は思う。 – junkfoodjunkie