当前位置: 首页 > 面试题库 >

为什么JavaScript仅在IE中打开开发人员工具一次后才能工作?

尤俊誉
2023-03-14
问题内容

IE9错误-JavaScript仅在打开开发人员工具一次后才能工作。

我们的网站为用户提供免费的pdf下载,并且具有简单的“输入密码下载”功能。但是,它根本无法在Internet Explorer中使用。

下载通行证为“ makeuseof”。在任何其他浏览器中,它都可以正常工作。在IE中,两个按钮都不起作用。

我发现的最奇怪的事情是,如果使用F12打开和关闭开发人员工具栏,则所有这些突然开始工作。

我们已经尝试了兼容模式,因此没有任何区别。

如何在Internet Explorer中进行这项工作?


问题答案:

听起来您的javascript中可能有一些调试代码。

您所描述的经验是包含console.log()或任何其他console功能的典型代码。

console仅在打开“开发工具栏”时激活该对象。在此之前,调用控制台对象将导致其报告为undefined。打开工具栏后,控制台将存在(即使随后关闭了工具栏),因此您的控制台调用也将起作用。

有一些解决方案:

最明显的方法是检查代码中对的引用console。无论如何,您都不应该在生产代码中留下类似的内容。

如果要保留控制台引用,则可以将它们包装在一条if()语句中,也可以将其包装在其他条件中,以在尝试调用控制台对象之前检查控制台对象是否存在。



 类似资料:
  • 为了使调试更容易,Electron 原生支持 Chrome DevTools Extension。 对于大多数DevTools的扩展,你可以直接下载源码,然后通过 BrowserWindow.addDevToolsExtension API 加载它们。Electron会记住已经加载了哪些扩展,所以你不需要每次创建一个新window时都调用 BrowserWindow.addDevToolsExte

  • 对于大多数DevTools的扩展,你可以直接下载源码,然后通过API加载它们。Electron会记住已经加载了哪些扩展,所以你不需要每次创建一个新window时都调用BrowserWindow.addDevToolsExtensionAPI。 注:React DevTools目前不能直接工作,详情留意https://github.com/atom/electron/issues/915 参考来编译

  • 这是一段防止用户打开开发者工具的代码。 执行结果是如果打开了开发者工具,alert(num)执行了2次,如果没有打开只执行一次。请问为什么会出现执行2次? https://www.bilibili.com/video/BV1WV4y187Mv/?aid=870612797&ci...

  • 问题内容: 传统上,我使用FireBug调试AJAX请求。它使您既可以检查请求的内容,也可以检查从服务器发回的响应。(当这些情况发生时,它还会在控制台中通知您,这是Chrome似乎缺少的有用功能)。 在Chrome中,我似乎只能查看请求,而不能查看响应。当我尝试检查响应时,UI只会显示“无可用内容”(开发人员工具>资源> myRequest.php>内容)。我是否必须打开电源才能使Chrome开发

  • 问题内容: 我正在开发一个Web应用程序,因为它可以访问下面的数据库,所以我需要能够从Safari,Chrome,Firefox和Internet Explorer中禁用开发人员工具,并在Firefox和所有类似的应用程序中禁用Firebug。有没有办法做到这一点? 注意:数据库提供的AJAX框架要求提供给数据库的任何内容都必须在可修改的Web参数中,并且返回的所有内容都必须使用JavaScrip

  • 可以使用以下样式设置文本输入的占位符: 我正在网上看一个网站,我想使用相同的占位符颜色,因为他们做的。有可能查出他们用的是什么颜色吗?我想包括任何alpha值,所以我不能仅仅用图像编辑器对颜色进行采样。 当我使用Chrome开发工具检查元素时,我看到: Dev tools在检查输入元素时不提供有关placeholder元素的信息。还有别的办法吗?