Javascript函数在Google Chrome浏览器中执行任务失败

Javascript function fails to perform task in Google Chrome

本文关键字:执行任务 失败 浏览器 Chrome 函数 Google Javascript      更新时间:2023-09-26

我研究这个问题已经有一段时间了,鉴于Google Chrome似乎与Javascript有大量的问题,我一直很难找到有同样问题的人。

问题是这样的:当锚调用替换div内容的新函数时,在Javascript进行任何更改之前,它会在恢复到div的默认内容之前显示适当的结果。

脚本如下:

function prologueThree() {
    document.getElementById('content').innerHTML = document.getElementById('prologue3').innerHTML;
}
function prologueFour() {
    userName = document.getElementById('yourname').value;
    if(userName.length === 0) {
        alert("Erm... are you sure that''s your name?");
        prologueThree();
    } else {
        document.getElementById('content').innerHTML = '<center> '
<img src="http://pokemonroleplay.thedevhome.net/images/Gameboy/characters/red.png"><br> '
Right, so your name is ' + userName + '! '
<br><br> '
<a onclick="prologueFive()"><button>>>Continue>></button></a></center>';
    }
}

这只是脚本的一个片段,但整个东西在Firefox中运行良好,对于前三个序言功能,它在Chrome中运行良好。只有当它试图运行prologu4时,它才会崩溃并返回。我也试过Chrome开发者控制台,但它从来没有注册一个错误。

提前感谢您的帮助

我去了你的网站我注意到你在表单中绑定了一个onclick到一个submit按钮,而不阻止默认行为的执行,默认行为是一个表单提交,刷新页面,从而使你失去你的位置,回到开始。使用一个普通的按钮或锚标记,就像你以前的开场白一样。如果您出于某种原因坚持使用提交,请防止如下默认行为:

function prologueFour(e) {
    typeof e.preventDefault === 'function'
        ? e.preventDefault()
        : e.returnValue = false;
    // now rest of code can continue without page refresh
}

我不知道是否有其他问题,但>>Continue>>不是完全符合标准的html,这可能会导致问题。您应该使用&gt;