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论坛.
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)
感谢那些提供帮助的人。
| 归档时间: |
|
| 查看次数: |
1740 次 |
| 最近记录: |