我有一个在Chrome和FF上运行良好的网站,但在Edge上失败了。当我查看Console日志(在Edge上)时,它告诉我某些javascript函数未定义,如果我切换默认的Edge开发人员工具的调试器,我可以看到我的一个js文件还没有被加载,但其他人(见下文)。控制台登录FF和chrome报告没有错误或警告。页眉设置为<!DOCTYPE html>
,js包括在内......
<script src="js/generalUtils.js" type="text/javascript"></script>
<script src="js/dlmUtils.js" type="text/javascript"></script>
<script src="js/md5.js" type="text/javascript"></script>
generalUtils.js和login.js加载,但是dlmUtils.js没有加载。 (nb还成功地从ajax.googleapis.com加载了一堆远程&#39; js。)
dlmUtils.js中的javascript在Chrome和FF中运行正常,并且不会在控制台上报告任何错误或警告。
思想?
jonb
答案 0 :(得分:3)
奇怪 - 我发现实际上脚本 正在加载,但随后被快速转储。事实证明,Edge并不喜欢Javascript中的默认参数。 - 我想我错过了一个标准备忘录: - )
function showJobsheet(id=0) {
导致Edge转储脚本,所以现在......
function showJobsheet(id) {
id = ((typeof id !== 'undefined') ? id : 0);
这是我必须做出的唯一改变,现在一切正常。
感谢所有提供帮助的人......
答案 1 :(得分:0)
我遇到了同样的问题。通过将Edge开发工具打开并显示JS文件所在的目录,我可以将其固定为Edge像GreybeardTheUnready所说的那样“转储” JS文件。刷新页面时,它确实会立即显示在该目录中,然后消失。
即使启用了实验性JavaScript功能,这也是发生的,因为我正在使用JavaScript的可选链接(?.
)。删除了那些问号,现在JS文件仍然存在。不幸的是,这意味着我必须使我的代码更加冗长...