Javascript OnClick突然无法在Chrome中的谷歌网站上工作

Javascript OnClick突然无法在Chrome中的谷歌网站上工作,javascript,google-chrome,onclick,google-sites,Javascript,Google Chrome,Onclick,Google Sites,我写了一个页面,使用带有onclick的按钮调用函数,作为学生练习题和答案集的一部分。自7月以来,它一直在工作,至少到9月5日(星期五)为止,没有任何问题。今天,在Chrome中,这些按钮根本无法正常工作,我一辈子都不明白为什么。它们确实在IE中继续正常工作 我已经发布了我能写的最简单的代码,但在下面是行不通的。它非常简单,老实说,我认为它很好。如果我将整个内容粘贴到JSFiddle的HTML框中,它似乎可以工作,但是如果我尝试分离脚本,它什么也做不了。我不知道这是因为它坏了还是因为我把它分错了

我写了一个页面,使用带有onclick的按钮调用函数,作为学生练习题和答案集的一部分。自7月以来,它一直在工作,至少到9月5日(星期五)为止,没有任何问题。今天,在Chrome中,这些按钮根本无法正常工作,我一辈子都不明白为什么。它们确实在IE中继续正常工作

我已经发布了我能写的最简单的代码,但在下面是行不通的。它非常简单,老实说,我认为它很好。如果我将整个内容粘贴到JSFiddle的HTML框中,它似乎可以工作,但是如果我尝试分离脚本,它什么也做不了。我不知道这是因为它坏了还是因为我把它分错了

我在调试它时遇到了麻烦,主要是因为谷歌网站完全将你的作品改写成自己的格式,如果没有硅材料的话,它或多或少是不可读的。当我加载此文件并尝试单击时,确实会出现异常:

Uncaught Error: shouldn't happen: ES5/3 object passed to makeDOMAccessible
但我绝对没有运气弄清楚那里发生了什么,或者这是否真的是问题所在

我读过很多关于谷歌网站挑剔Javascript的文章,我不知道问题出在网站还是Chrome上,还是两者兼而有之,但这是我想弄清楚的,因为我和我的大部分学生主要使用Chrome

下面的所有代码都将以书面形式插入一个HTML框中,仅供参考

如果这是重复的,道歉;我找了好一阵子,找不到解决办法

<html>
<body>
<button onclick="Check()">Push Me</button>

<script>
function Check() {
    alert("It worked");
}
</script>

</body>
</html>

推我
函数检查(){
警惕(“它起作用”);
}
任何关于修复我得到的东西(如果它甚至坏了的话)或以一种直接的方式重做它的建议都是受欢迎的,这将与网站和Chrome一起工作。提前谢谢

。当您按下各种按钮时,它会显示表格的行


编辑:这似乎适用于较旧版本的Chrome。我想我需要在Chrome论坛上讨论这个问题。

epascarello建议的解决方案,使用addEventListener代替onclick事件,似乎有效。出于某种原因(违反站点策略?),我仍然无法使示例中的警报窗口正常工作,但我想要的实际功能,即设置段落对象的innerHTML,正在正常工作

这似乎是谷歌网站和Chrome v.37之间的问题。希望它能在不久的将来得到解决

下面是一个正确工作的等效代码示例

<html>
<body>

<button id="AnswerButton1">Check Answer 1</button>

<p id="Answer1"></p>

<script>
    document.getElementById("AnswerButton1").addEventListener("click",function(){Answer(1);});

    function Answer(n){
        document.getElementById("Answer"+n).innerHTML = "Answer to Number 1";
    }  

</script>
</body>
</html>

检查答案1

document.getElementById(“AnswerButton1”).addEventListener(“单击”,函数(){Answer(1);}); 功能应答(n){ document.getElementById(“Answer”+n).innerHTML=“数字1的答案”; }

感谢那些帮助过我的人。

我不确定我是否测试了正确的东西,但我在单击按钮时会看到行(34.0.1847.116/Linux)。是的,当你单击时,链接页面底部的按钮会显示行。你也在使用Chrome?今天在我的学校里,至少有二十几个人,或者今晚在家里的一台完全不同的机器上,它都不起作用。(我尝试了使用非管理员登录,通过匿名窗口)是的,我在chrome上。所有的按钮对我都有效(为首字母、更改、结束添加行),而检查问题按钮对我有效,这真的很奇怪。谢谢检查。我在windows上的版本37.0.2062.103中看到了错误