gpt4 book ai didi

JavaScript 火狐浏览器问题

转载 作者:行者123 更新时间:2023-12-02 19:26:12 25 4
gpt4 key购买 nike

我开发了一个 .htm 文档,其中包含用于 javascript 运行程序的内置脚本。在 google chrome 中,该程序运行良好,但我收到了 beta 测试投诉,称它无法在 firefox 14.01 或 opera 上运行。在使用 Firefox 14.01 进行测试时,我可以确认它不起作用(我假设 Opera 是相同的)。我不能坚持观众升级他们的浏览器,因为这应该是广泛兼容的。

对问题进行了一些跟踪,我安装了 Firebug,在第一次单击 Javascript 按钮生成坐标时,它起作用了(清楚地显示函数已定义并存在),但第二次,Firebug 提示说:

"ReferenceError: GenerateCoord is not defined".

如果它只是在生成(加密的)坐标之后才执行此操作(因此调用据称“未定义”的GenerateCoord),那么这不会那么讽刺。

如果查看代码,可以清楚地看到函数GenerateCoord在调用之前已经明确定义了。我想说 firefox 有一个“onclick”问题,但它引出了一个问题,为什么我第一次单击它时它起作用(通过“onclick”调用GenerateCoord)但第二次却不起作用?

重新加载文件允许按钮第一次工作,并且仅在第一次。我很困惑 Firefox 如何一次调用一个函数,然后在下一次调用该函数时又说该函数未定义。我在这里遗漏了什么吗?

Javascript 和 HTML 代码可以在此处查看:

http://pastebin.com/4qykTfEW

-

我该如何解决这个问题,有没有比重写代码更简单的解决方案来避免 onclick(这似乎在某些情况下有效,但在其他情况下无效)?

最佳答案

问题是使用 document.write 会覆盖整个 HTML 页面,从而无意中删除 GenerateCoord 脚本。我建议将链接附加到文档(在 ShowTarget 中),而不是尝试重写它。

例如,有一个容器元素,链接应位于:

<div id="links_container"></div>

然后要附加链接,请使用:

document.getElementById('links_container').innerHTML = Link;

关于JavaScript 火狐浏览器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12028801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com