OnClick突然无法在Chrome中使用Google协作平台

Jas*_*son 7 javascript google-chrome onclick google-sites

我写了一个页面,使用带有onclick的按钮来调用函数,作为一组练习问题的一部分,并为我的学生提供答案.它自7月开始起作用,至少在9月5日星期五没有问题.今天按钮在Chrome中根本无法运行,我无法弄清楚为什么对我的生活.它们确实在IE中继续正常运行.

我发布了我能编写的最简单的代码,但下面的代码不起作用.这非常简单,说实话,我认为这很好.如果我将整个内容粘贴到JSFiddle的HTML框中似乎有效,但如果我尝试分离脚本它不会做任何事情.我不知道是不是因为它被打破了,或者因为我错误地将它分开了.

我在尝试调试时遇到了麻烦,很大程度上是因为Google Sites完全将您的工作重写为自己的格式,而这种格式或多或少是不可读的,而不是由硅制成.当我加载它并尝试单击时,我得到一个例外:

Uncaught Error: shouldn't happen: ES5/3 object passed to makeDOMAccessible
Run Code Online (Sandbox Code Playgroud)

但我完全没有找到那里发生的事情,或者这是否真的是问题.

我已经阅读了很多关于谷歌网站使用Javascript挑剔的内容,我不知道这个问题是关于网站还是Chrome或者这两个问题是什么,或者是什么,但这是我想要解决的问题,因为大部分学生和我主要使用Chrome.

下面的所有代码都会进入一个插入的HTML框中,只写FYI.

如果结果是重复,请道歉; 我搜索了很长一段时间,找不到解决方案.

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

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

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

任何有关修复我所获得的建议(如果它甚至被破坏)或以简单的方式重做它以及适用于Sites和Chrome的任何建议都将受到欢迎.提前致谢.

这是一个以前在Chrome中工作的完整页面,现已不再使用.按下各个按钮时,它会显示表格的行.

编辑:这似乎适用于较旧版本的Chrome.我想我需要针对此问题点击Chrome论坛.

Jas*_*son 2

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

这似乎是 Google 协作平台和 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>
Run Code Online (Sandbox Code Playgroud)

感谢那些提供帮助的人。