我有一个可能20或30行的字符串,我想在一个console.log调用中输出到控制台.这在Chrome中效果很好,但IE11会截断控制台中大约一半的字符串.有什么办法可以防止这个?字符串类似于:
-----------------------------------------
Wed Jan 7 20:41:16 GMT-0700 2015 530d8aa855df0c2d269a5a5853a47a049c52c9d83a2d71d9
-----------------------------------------
41:17:181 - Initiating recording...
41:17:233 - Creating NetStream...
41:17:240 - NetStream created.
41:17:240 - Recording ready.
-----------------------------------------
Wed Jan 7 20:41:16 GMT-0700 2015 NetConnectionQueue - rtmp://AMS2alt.commercialtribe.net/recorder/530d8aa855df0c2d269a5a5853a47a049c52c9d83a2d71d9
-----------------------------------------
41:16:867 - Initializing...
41:16:868 - Creating negotiator...
41:17:175 - Connection success: rtmp://AMS2alt.commercialtribe.net:1935/recorder/530d8aa855df0c2d269a5a5853a47a049c52c9d83a2d71d9
41:17:175 - Connection added to queue.
41:17:182 - Connection request recieved...
41:17:183 - Connection request fulfilled.
41:17:452 - Connection success: rtmp://AMS2alt.commercialtribe.net:1935/recorder/530d8aa855df0c2d269a5a5853a47a049c52c9d83a2d71d9
41:17:452 - Connection added to queue.
41:18:503 - -----------------------------------------
Wed …Run Code Online (Sandbox Code Playgroud) javascript internet-explorer console.log internet-explorer-11
出于某种原因,在IE8中,除非我在打开Developer Tools的情况下重新加载页面,否则javascript不会运行.我关闭开发人员工具并重新加载页面,javascript停止工作.我没有收到任何错误报告(不管它们是否有任何用处).
还有其他人有这个问题吗?
似乎除了Opera之外的所有浏览器都在我的Javascript程序中缓存XHR请求.XHR请求中的URL是指服务器上的CGI程序,每次调用它时都会生成不同的输出.B Javascript中是否有一种方法可以使浏览器不缓存XHR请求?
基本上,我有两个标签,一个是隐藏的,一个是显示的.
隐藏的一个将在后台加载视频,当前一个完成时,我将通过隐藏显示的一个来交换两个.
我还将在服务器端列出可播放的视频列表,我将使用ajax获取列表并决定下一个要加载的列表.
无论如何,你很难尝试这个,因为你需要一个视频服务器,我发现很难砍掉代码,所以我只会告诉你整个源代码(带一些注释),希望你能理解.
我使用了jquery和video.js.源代码如下,
HTML:
<div class="container" id="video-container-1">
</div>
<div class="container" id="video-container-2">
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
//I am making a live video by chopping the video into MP4 files of 800ms each
//The play rate has to be adjustable or the local browser and live server will not sync
var play_rate = { 1.0:800, 1.01:790, 1.02:785, 1.03:777, 1.04:770, 1.05:762, 1.06:755, 1.07:748,
1.08:741, 1.09:734, 1.1:727 };
var min_rate=1.0;
var max_rate=1.1;
var base_rate = 1.03;
var current_rate = base_rate;
var timer_value = play_rate[current_rate]; …Run Code Online (Sandbox Code Playgroud) 以下适用于IE 9.0.8以外的所有浏览器.它使用ajax请求在div中加载调查表单.
$('.tab-content').on('click', '.show_survey_form', function(e) {
e.preventDefault()
target = $(this).attr("data-target")
my_href = $(this).attr("href")
console.log("load: " + target + " target: " + my_href)
// load: #survey_response_form_33 target: /surveys/33/survey_responses/edit_multiple
// Don't make a request unless the form is opening.
if ($(this).hasClass('collapsed')) {
console.log("Making request!")
//$(target).load(my_href)
$(this).html(closeSurveyForm) // Just changes the language on the button
} else {
$(this).html(respondToSurvey) // Just changes the language on the button
}
}
Run Code Online (Sandbox Code Playgroud)
.load在调试期间被注释掉.IE在这种情况下使用.hasClass似乎有问题.它在其他地方使用没有问题.
真正奇怪的是,当我打开开发工具窗口时,它开始工作.它在此之前始终不起作用,并且在击中F12之后始终如一.
其他问题表明,当类包含\ r \ncchar时,hasClass方法不起作用,但这不是这种情况.我正在使用jQuery 1.8.3.
更新:将href更改为"#"并将URL写入数据加载无效.仍然适用于除IE 9.0.8之外的所有浏览器.
我和这里有同样的问题:
为什么JavaScript只有在IE中打开开发者工具一次后才能工作?
除了我的是 chrome 44。
JavaScript 代码 - 主要是 XHR 和 setInterval - 可以完美运行 - 当开发人员工具打开时
(可能只是 XHR 问题)
这是一个网络应用程序 - 即:一个弹出窗口,宽度为 300 像素,位于用户当前正在处理的任何内容旁边。
这里的解决方案: 如果 chrome 开发工具打开,AJAX 可以工作,但如果 chrome web 工具关闭,AJAX 就不行?
似乎不适用 - 因为我正在使用 post 动态文件
有任何想法吗 :-) ?
编辑:正如 @michaelAdam 所启发的 - 大多数问题都是缓存问题,因为我使用了很多 XHR 'get' (未缓存)嗯..值得注意的是:使用:
$.ajaxSetup({ cache: false });
Run Code Online (Sandbox Code Playgroud)
似乎没有成功。添加:@Mattisdada:
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");//Dont cache
header("Pragma: no-cache");//Dont cache
header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");//Make sure it expired in the past (this can be …Run Code Online (Sandbox Code Playgroud) jQuery $ .post()函数在IE中不起作用.我试图打开开发人员工具,看看我是否收到了控制台错误,但奇迹般地,该功能开始工作.
它只是一个标准的$ .post()函数
$.post('child_cb.php?type=check', { value: $(this).val() }, function(data) {
console.log(data);
if (data == 'true') {
$(".check_case").removeClass('bad').addClass('good');
}
else if (data == 'false') {
$(".check_case").removeClass('good').addClass('bad');
}
});
Run Code Online (Sandbox Code Playgroud)
我认为没有理由不这样做.
我们在IE 11上运行javascript时遇到了一个不寻常的问题.我在我们运行IE8的服务器上试了一下,出现了同样的问题.但是,它在Chrome和Mozilla上运行良好.这是有问题的代码:
SetGuideFatningCookie(fid); //set a cookie according to user choice
var validFatningCombo = ValidFatningCheck(); //ask server if user choice is valid using XMLHttpRequest GET request
if(validFatningCombo)
window.location.href = GetGuideTilbehoerURL(); //if valid redirect user to next page
else
popAutoSizeFancy("#GLfancy"); //if not show a fancybox with error text
Run Code Online (Sandbox Code Playgroud)
用户选择7种选择中的一种.然后他们单击一个运行上述代码的按钮.代码设置包含用户选择的cookie,并询问服务器选择是否有效.如果有效 - 我们重定向用户,如果没有,我们打开一个包含一些错误文本和两个按钮的fancybox - "再试一次"(关闭框,他们可以再试一次)和"向我们发送消息"(将用户重定向到我们的"问我们一个问题"页面".
用户第一次进入此过程时代码运行正常.然而,如果他们选择了无效的选择,他们会关闭fancybox并尝试选择另一个选择并继续 - >然后无论用户选择什么,总是会出现花式框.如果他们选择了有效的选择并继续,请重定向到下一页,然后返回此页面并选择无效的选择并按继续 - >然后他们可以继续到下一页,而不会出现fancybox.
但是,如果打开IE的开发人员工具,则代码每次运行都是正确的.我发现许多线程描述这是console.log的问题.我从所有.js文件中删除了对console.log的每个引用.它可能是我们正在使用的外部库之一,如jquery,modernizr,fancybox和menucool的工具提示库.
因此我尝试为IE包含一个控制台回退函数,就像这个线程所暗示的那样: 为什么JavaScript只在IE中打开开发人员工具后才能工作?
我目前正在尝试使用这个,我尝试了从我连接到的每一个其他后备控制台.
if (!window.console) window.console = {};
if (!window.console.log) window.console.log = function () { };
Run Code Online (Sandbox Code Playgroud)
我尝试包括它:
到目前为止,我在这4个位置中的任何一个尝试过的代码都没有解决问题.它在IE中的行为总是一样的.到目前为止,我找不到另一个解释,而不是"控制台"解决这个问题,所以如果有人对它有任何见解,我将不胜感激. …
我不确定之前是否曾经问过,我发现的唯一类似项目是这个.将alert()a 更改为a console.log()会导致我的代码失败.第24行(紧接着后面xmlhttp.send())是断线,我无法弄清楚原因.
function readFile()
{
var xmlhttp = new XMLHttpRequest();
var totalBudgeted = 0;
var totalSpent = 0;
var fileJSON = {};
var url = 'gamedata.json';
xmlhttp.onreadystatechange = function()
{
if( xmlhttp.readyState == 4 )
{
//alert( 'XMLHttpRequest status code: ' + xmlhttp.status );
// I am commenting this out so that I do not lose points for this assignment. However, FireFox will return a status of 200 when serving a local …Run Code Online (Sandbox Code Playgroud) javascript ×8
ajax ×3
jquery ×3
console.log ×2
alert ×1
callback ×1
debugging ×1
gwt ×1
html ×1
jquery-1.8 ×1
php ×1
post ×1
video ×1