Tag: 谷歌浏览器

使用async的Chrome和Safari ajax问题:false

我在网上到处都看到了这个,但我无法修复我的代码以避免这个问题,只是我有一个ajax函数,当我点击一些按钮时我会触发它,有时我想要一个指示器(加载动画)来显示,有时候不,所以我建立我的function: function doAjax(action, todo, items, error_num, hide_indicator) { items.action = action; items.do = todo; var postedObj; $.ajax({ type: ‘post’, dataType: ‘html’, url: ajaxURL, data: items, async: false, beforeSend: function() { if (!hide_indicator) showIndicator(); }, success: function(data) { if (data) { ajaxObj = JSON.parse(data); if (ajaxObj.ok) { postedObj = ajaxObj; } else { alert(ajaxObj.error); postedObj = […]

Chrome扩展程序:SendMessage问题

我试图根据xhr调用的输出更改页面的内容。 我从content.js发送一条消息,在后台js文件中进行xrh调用,然后将输出传递给content.js,这会改变页面的内容。 从我的content.js文件中,我正在执行以下操作。 var s = document.createElement(‘script’); s.src = chrome.extension.getURL(‘src/content/main.js’); (document.head || document.documentElement).appendChild(s); 在我的main.js我正在做 chrome.runtime.sendMessage({ method: ‘GET’, action: ‘xhttp’, url: myurl }, function(responseText) { console.log(“Response Text is “, responseText); }); 在我的bg.js我有以下内容 chrome.runtime.onMessage.addListener(function(request, sender, callback) { if (request.action == “xhttp”) { var xhttp = new XMLHttpRequest(); var method = request.method ? request.method.toUpperCase() : ‘GET’; xhttp.onload = […]

jQuery && Google Chrome

此脚本适用于除Chrome浏览器之外的所有浏览器。 $(document).ready(function(){ $(“.banners-anim img”).each(function(){ var hover_width = $(this).width(); var hover_height = $(this).height(); var unhover_width = (hover_width – 30); $(this).width(unhover_width); var unhover_height = $(this).height(); $(this).closest(“li”).height(unhover_height); var offset = “-” + ((hover_height – unhover_height)/2) + “px”; $(this).closest(“span”).css({‘position’:’absolute’, ‘left’:’0′, ‘top’:’25px’, ‘width’:’100%’}); $(this).hover(function(){ $(this).animate({width: hover_width, marginTop: offset}, “fast”) },function(){ $(this).animate({width: unhover_width, marginTop: 0}, “fast”) }); }); }); Chrome无法识别已更改的图像属性。 当img的width改变时, […]

无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本

这是参考这个 SO答案。 我在web.whatsapp.com(chrome)上尝试相同的输入搜索字段。 这是我的代码: document.getElementsByClassName(“input input-search”)[0].focus() document.getElementsByClassName(“input input-search”)[0].select() 以上不适用于chrome控制台。 还有jQuery代码: $(“.input-search”).focus() 不起作用。 甚至在执行上述方法后我没有看到光标的原因是什么?

单击Chrome中非常基本的jQuery链接时的INDEX_SIZE_ERR

通过在Chrome版本20.0.1132.57中附加了一些基本jQuery的简单链接上多次单击来获取以下错误: Error in event handler for ‘undefined’: INDEX_SIZE_ERR: DOM Exception 1 undefined 这是一个非常基本和简单的代码的现场演示,触发错误,只需在控制台日志打开时多次发送链接(开发人员工具): http : //jsfiddle.net/ZkXDy/

chrome扩展 – 在使用内容脚本时减少加载时间的最佳方法

我正在构建一个镀铬扩展,它应该通过超过12,000个值的数组进行查看,并将其与网页p标记进行比较,如果数组中的值位于p标记内,则应突出显示文本,并且当它hover时应该显示一些信息。 所以,我很容易使用内容脚本,但使用”run_at”: “document_end”使网页加载速度慢3倍,加载扩展程序几乎多10秒。 显然不理想。 这是我的内容脚本代码: jQuery(document).ready(function($) { var $all_p = $(“p”); $.each(arrayObj, function(key, value) { $all_p.highlight(key, {caseSensitive: true, className: ‘highlight-882312’, wordsOnly:true }); }); $(‘.highlight-882312’).each(function() { var currentKey = $(this).text(); console.log(currentKey); //Create tooltip on hover. Tipped.create(this, “”, { skin: “white”, hook: ‘rightmiddle’, maxWidth: 306, maxHeight: 365, background: ‘#eee’, }); }); }); 无论如何,这对我来说太慢了,但我仍然想构建扩展,所以我想我可以将所有p标签的数组发送到我的后台/弹出窗口,这样在后台/弹出窗口中它会循环查找关键字然后显示弹出窗口内匹配的关键字,并将消息发送回内容脚本,其中关键字匹配,以便突出显示。 这会减少加载时间吗? 对于我的问题,这是一个很好的解决方案,因为额外的10秒加载时间根本不理想吗? 我真的很感激任何建议。 编辑:arrayObj: […]

Chrome在浏览器后退按钮上再次执行所有JS

我正在开发一个Web应用程序。 我写了一些JS脚本,可以在文档就绪时执行。 但是在chrome中,当我们点击后退按钮并返回上一页时,它再次执行所有js脚本。 但是当我在firefox上使用它时,它不会执行JS。 我在一个页面上有一个手风琴,当用户打开任何手风琴并进入手风琴下的其中一个链接时,如果再次点击手风琴页面上的后退按钮,chrome就会关闭所有的手风琴,因为我已经编写了脚本来关闭所有这些都准备好了。 但是firefox并没有关闭。 有没有办法用javascript解决这个问题? 所以我可以放任何条件,如if(history.forward.length < 1){ do this….}

单击JavaScript / jQuery,确认触发两次

问题解决了…… 仅供参考 :显然这是 Mac OS或Chromium引擎错误,因为在最后一次系统和浏览器更新问题之后突然消失了。 看起来它与jQuery或JavaScript API无关。 我会将这个问题保留几天,之后我会将其删除,因为在这种情况下它不适合StackOverflow规则。 原帖: 我在点击监听器中有简单的JS确认,就像下面的代码一样,没有更多的请求(即AJAX,没有重复的JS包括等等)。 问题是在某些浏览器(即Mac OS中的Chrome和Opera)中确认对话框被触发两次 ,我的问题是,我是否错过了一些明显的或者是上述浏览器的相当大的错误? 是否有任何解决方法可以帮助我防止这种情况发生? 还尝试了e.preventDefault(); 也没有运气。 编辑我还应该提一下,如果没有confirm(‘…’); 在点击它之前它只被触发一次(因此只有一个让我们检查…在控制台中发生)。 确认两个日志在控制台中出现两次,但布尔值与点击相反 – 对于样本 – 如果我先单击Cancel然后OK控制台首先记录true ,最后记录为false ……非常奇怪:S 版本: jQuery版本: 1.11.3 – 1.12.0 Chrome: 47.0.x (最新) 歌剧: 34.0。* (最新) 示例代码(完整): Test… Take one Take two Take three Take four $(document).ready(function () { $(document).on(‘click’, ‘.myBtn’, function () { console.log(‘Let […]

Chrome bug还是jQuery bug?

为什么以下代码在IE 7和FF 15.0.1上按预期执行(根据选择resize下拉列表)但在Chrome 23.0.1271.91上总是最终大小为1? 我试图添加console.log并实际看到发生了什么,似乎resizefunction在Chrome中触发两次,但作为jQuery的新手,我不确定我是否完全理解传递对象。 var vt = new Array(‘1′,’2′,’3′,’4′,’5’); var x = 1; function addopts(ddl) { console.log(ddl); for ( var i = 0; i < vt.length; i++ ) { var v = i * x; $(ddl).append("” + v + “”); } console.debug(ddl); vt.push(x); x++; // our list changes } function resize(ddl) { console.log(ddl); ddl.size […]

Chrome扩展程序:如何禁用页面可见性API

我正在编写一个Chrome扩展程序,需要阻止网页触发文档可见性更改事件。 至少我需要能够覆盖document.visibilityState(即使它是一个只读属性)。 如果不可能,因为此扩展程序仅用于我的目的而不会在Chrome扩展程序商店中,是否有一种方法可以配置我的Chrome浏览器以达到我想要的效果? 我只需要在Chrome“开发者模式”启用时使用此扩展程序,而不是其他时间。 我希望有人能想出一种创造性的方法来实现这一目标。 谢谢。 请注意! 4年前的答案中有一个解决方案,在较新版本的Chrome中不再生效: 欺骗或禁用Page Visibility API 自己测试一下: // This codes worked 4 years ago but not anymore var c='(function(){var a=Node.prototype.addEventListener;Node.prototype.addEventListener=function(e){if(e==”visibilitychange”||e==”webkitvisibilitychange”){}else a.apply(this,arguments)}})()’ , E=document.documentElement; E.setAttribute(‘onreset’, c); E.dispatchEvent(new CustomEvent(‘reset’)); E.removeAttribute(‘onreset’); // THIS WILL STILL LOG THE STATES EVEN WITH THE ABOVE CODE RUNNING document.addEventListener(“visibilitychange”, function() { console.log( document.visibilityState ); }); 如果在Chrome中无法实现,那么Firefox / […]