IE9 Bug - 只有在打开一次开发人员工具后才能使用JavaScript.
我们的网站为用户提供免费的pdf下载,它有一个简单的"输入密码下载"功能.但是,它在Internet Explorer中根本不起作用.
你可以在这个例子中看到自己.
下载通行证是"makeuseof".在任何其他浏览器中,它工作正常.在IE中,两个按钮都不起作用.
我发现最奇怪的事情是,如果用F12打开和关闭开发人员工具栏,它就会突然开始工作.
我们尝试过兼容模式等等,没有什么区别.
如何在Internet Explorer中完成此工作?
我想在JavaScript中看到对象的结构(用于调试).PHP中的var_dump有什么类似的东西吗?
在window.console.logInternet Explorer 9中定义了哪些情况?
即使window.console.log被定义,window.console.log.apply并且window.console.log.call是不确定的.为什么是这样?
[IE8的相关问题:IE8 中的console.log发生了什么变化?]
IE有控制台记录器吗?我正在尝试将一堆测试/断言记录到控制台,但我无法在IE中执行此操作.
javascript console firebug internet-explorer internet-explorer-8
如果您console.log的代码中有语句,Internet Explorer将抛出JavaScript错误(至少在我们的Intranet用户安装的IE7中).
我在大多数开发测试中使用Firefox主要是因为Firebug提供的功能(我使用了大量的控制台语句)但我还需要在IE中进行测试.
如果我将以下内容添加到我的JavaScript中,则不会抛出错误.
var debugging = false;
if (typeof console == "undefined")
var console = { log: function() {} };
Run Code Online (Sandbox Code Playgroud)
问题是如果调试模式为false,我想触发一个事件.如果我创建一个函数来测试调试是否为false并执行操作(此时只是一个警报)但是当我尝试执行以下操作时,我收到一个IE错误,说明控制台未定义.
var debugging = false; // or true
if (typeof console == "undefined")
var console = { log: function() {consoleMsg()} };
function consoleMsg() {
if(!debugging) {
alert('Console.log event in Production Code');
}
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮我修改我的代码,提供一个更好的方法来帮助我实现我的目标,或者指导我一个资源来教育我自己,我会非常感激.
我正在使用console.log()我编写的一些JavaScript,并且错误:console is not defined在Internet Explorer中抛出(在其他浏览器中工作正常).
我已将其替换为:
if (console) console.log("...");
如果console是undefined,我希望条件评估为false.因此,该声明console.log不会被执行,也不应该抛出错误.
相反,console is not defined at character 4抛出了错误:
这是IE漏洞吗?或者"if"条件是否真的非法?这似乎很荒谬,因为如果if (console)是非法的,那么也if (console==undefined)应该是非法的.
你应该如何检查undefined变量?
javascript console internet-explorer undefined internet-explorer-8
我刚开始在Win8上玩IE10并遇到问题.当"文档模式"设置为"标准"时,开发人员工具控制台似乎不起作用.我已经玩过浏览器模式和文档模式,并且当设置为IE9标准时控制台工作,但是将其设置为简单的"标准",IE10的默认设置,控制台是未定义的.有任何想法吗?
这不是重复的.测试时,开发人员控制台已打开.将Doc模式切换为IE9标准并重新加载按预期显示控制台输出.切换回IE10标准不显示控制台输出.调试显示控制台未定义,因此将console.log设置为空函数以处理未定义.我很好奇为什么在IE10标准模式下控制台是未定义的.
我在VirtualBox中运行Win8.我的页面是带有适当doctype的HTML4标记.
我需要选择列出的州(例如印度)下的所有城市.我把一个选择全部:
<input type="checkbox" class="selectall" /> Select All
Run Code Online (Sandbox Code Playgroud)
然后出现以下错误:
this.elem.prop不是一个函数
这是我的代码:
jQuery('.selectall').click(function() {
stop = false;
jQuery(this).closest('div').nextAll().each( function() {
elem = jQuery(this).find('input');
console.log(elem);
if (stop || elem.hasClass('selectall')) {
stop = true;
return;
}
else
elem.prop("checked", true);
});
});
Run Code Online (Sandbox Code Playgroud) 我有一个JS脚本,适用于所有浏览器.但令人惊讶的是,在IE中,它在第一次尝试时不起作用.
如果,在我加载页面后,按F12(打开ie调试器)并刷新我的页面,它工作正常!就像其他浏览器一样!但是对于这项工作,我必须按F12.
当我们打开它时,ie的调试器会做什么吗?我找不到解决办法!
提前致谢.
我的错误记录代码中包含以下javascript,它console.log为某些不存在该浏览器的浏览器进行了定义(除非打开了调试工具,否则IE不会/没有定义它)。
if (typeof console == "undefined")
{
window.console = { log: function (msg) { } };
}
Run Code Online (Sandbox Code Playgroud)
尝试将js升级为Typescript时的问题是,它window.console被定义为Console接口类型,并且由于我未指定所有内容(显然),因此无法编译。
interface Console {
info(message?: any, ...optionalParams: any[]): void;
profile(reportName?: string): void;
assert(test?: boolean, message?: string, ...optionalParams: any[]): void;
msIsIndependentlyComposed(element: Element): boolean;
clear(): void;
dir(value?: any, ...optionalParams: any[]): void;
warn(message?: any, ...optionalParams: any[]): void;
error(message?: any, ...optionalParams: any[]): void;
log(message?: any, ...optionalParams: any[]): void;
profileEnd(): void;
}
Run Code Online (Sandbox Code Playgroud)
如何告诉它忽略此接口,而让我重新定义window.console。
我尽力而为的猜测是行不通的
window.console = { log: …Run Code Online (Sandbox Code Playgroud)