Tag: javascript

for循环中的闭包 – 循环变量作为参数的回调

我在循环中使用jQuery“GET”从服务器获取几个结果。 我想将循环索引作为固定参数包含在回调中,但它不起作用。 (我遵循了本文关于如何做的建议。) 但是,我在回调中得到的值完全不是我所期望的 – 而不是每个循环索引值,它总是等于索引的退出值。 即。 这里的代码片段为每次回调执行打印出’16’。 如何让它打印1,2,3 …(我意识到订单可能不同,那很好) 除了下面的代码,我还尝试了几种方法来指定回调函数,例如。 function(data, textStatus) { return test(data, textStatus, idx); }, ‘text’); 等等 这应该怎么样? function test(data, textStatus, siteNo) { console.log(“siteNo=” + siteNo); } function loadConfigLists() { var siteReport; // retrieve site configuration jQuery.get(“svGetSiteConfig.php”, function(data, textStatus) { // retrieve port configuration for all sites for (var idx=1; idx<=15; […]

‘|’是什么 意味着在这个正则表达式?

这个正则表达式来自JQuery和“|” 是指“或”,但包括哪两个部分可供选择? /^(?:[^#<]*()[^>]*$|#([\w\-]*)$)/ 它是[^>]*$ | #([\w\-]*)$或()[^>]*$ | #([\w\-]*)$)还是其他什么?

使用image.complete来查找图像是否缓存在chrome上?

我一直试图找出是否用js在浏览器上缓存了外部图像,这是我到目前为止的代码: function cached( url ) { $(“#imgx”).attr({“src”:url}); if(document.getElementById(“imgx”).complete) { return true; } else { if( document.getElementById(“imgx”).width > 0 ) return true; } return false; } $(document).ready(function(){ alert(cached(“http://sofzh.miximages.com/javascript/nav_logo80.png”)); }); 它在firefox上完美运行,但它总是在chrome上返回false。 有人知道如何使用chrome吗?

捕获事件onclose浏览器

我如何在jQuery或javascript中捕获事件,关闭浏览器窗口?

发布预览 – 使用AJAX和Fancybox传递数据

我正在尝试进行预览,这将出现在新的Fancybox iframe中。 几个星期以来,我正在寻求一些帮助或最佳实践,但我找不到它。 我的主要问题是将数据从表单(更新数据库之前)传递到Fancybox窗口。 我的AJAX技能很差,所以也许我的问题不是那么难。 请检查代码: $(‘.preview2’).fancybox({ fitToView : false, width : 905, height : 505, autoSize : false, closeClick : false, openEffect : ‘none’, closeEffect : ‘none’, ajax: { type: “POST”, cache : false, url: “https://stackoverflow.com/questions/14316054/post-preview-passing-data-with-ajax-and-fancybox/preview.php”, data: $(‘#postp’).serialize() } }); 和一个呼叫链接: Preview 我几乎可以肯定使用https://stackoverflow.com/questions/14316054/post-preview-passing-data-with-ajax-and-fancybox/preview.php文件一切都很好,只需发布​​变量并将其打印在正确的位置即可。 有人可以检查Fancybox / AJAX部分吗?

Safari:通过DOM更新时,绝对定位的DIV不会移动

我正在尝试使用JS更新顶部和左侧CSS属性,在页面上为一些绝对定位的DIV设置动画。 在Chrome,FF甚至IE8中都不是问题,但在Safari 5中尝试它们只是坐在那里……奇怪的是,如果我调整Safari窗口的大小,它们将更新它们的位置…… 你可以在这里看到它的演示: http://www.bikelanebrakes.com/tests/flyingThing1.html 更新DIV的代码非常简单,只需要一点jQuery(也可以更新旋转,在Safari中运行得很好): $(this.elem).css({ ‘-webkit-transform’: ‘rotate(‘ + (( this.angle * (180 / Math.PI) ) * -1) +’deg)’, ‘-moz-transform’: ‘rotate(‘ + (( this.angle * (180 / Math.PI) ) * -1) +’deg)’, ‘transform’: ‘rotate(‘ + (( this.angle * (180 / Math.PI) ) * -1) +’deg)’, ‘left’: Math.round(this.xPos) + ‘px’, ‘top’: Math.round(this.yPos) + ‘px’ }); […]

保存和恢复contentEditable div的插入位置

我有一个contentEditable div,其innerHTML可以在编辑时通过AJAX更新。 问题是,当您更改div的内容时,它会将光标移动到div的末尾(或根据浏览器失去焦点)。 在更改innerHTML然后恢复它之前,什么是存储插入位置的良好的跨浏览器解决方案?

一个document.createElement,将它追加两次,只显示一次

我想在页面的开头和结尾使用一个按钮: var button_save = document.createElement(‘button’); $(“#compteurs”).append(button_save); […] $(“#compteurs”).append(button_save); 但它只出现在页面的末尾。 如果我从页面底部删除它,它会出现在页面的开头。 这是一种指针。 有没有办法只创建一次按钮并使用两次? 谢谢!

SlickGrid中是否可以使用变量rowheight?

我想根据内容大小提供可变行高。 在Slickgrid有可能吗? 你能指出我的任何例子吗?

绕过本地文件系统上的Chrome Access-control-allow-origin?

我已经在SO上阅读了其他相同的原始策略主题,但我还没有看到任何与本地文件系统相关的解决方案。 我有一个网络应用程序(在一个松散的意义上),必须在本地服务。 我试图在用户加载页面后加载大量数据,具体取决于他们在网页上做了什么。 在Firefox 3.5和IE8中,我可以使用jQuery的AJAX()和GetScript()方法来执行此操作,但在Chrome中,由于同源策略而失败。 XMLHttpRequest无法加载file://test/testdir/test.js 。 by Access-Control-Allow-Origin不允许by Access-Control-Allow-Origin null 。 这种情况发生在我做一些简单的事情时 $.getScript(“test.js”); 这在IE和Firefox中运行良好。 在读了一堆关于这个之后,我决定尝试直接写入文档的头部。 在Chrome的控制台中,我输入了以下内容: var head = document.getElementsByTagName(“head”)[0]; var script =document.createElement(‘script’); script.id = ‘uploadScript’; script.type = ‘text/javascript’; script.src = “upload.js”; head.appendChild(script); 这在粘贴到<script…test.js时工作正常 – 将<script…test.js元素添加到头部,评估并将内容加载到DOM中。 我认为这是成功的,直到我将此代码放入函数调用。 从函数调用时,相同的确切代码会将元素添加到但不会评估JavaScript文件。 我无法弄清楚为什么。 如果我使用Chrome的控制台停止在将元素添加到并运行上述代码的方法中执行,则不会对其进行评估。 但是,如果我取消暂停执行并运行完全相同的代码(在控制台窗口中粘贴它),它就可以工作。 我无法解释这一点。 以前有人处理过这个吗? 我已经阅读了以下SOpost,但他们没有描述我的问题: 如何规避同源政策 不支持XMLHttpRequest Origin null文件的Access-Control-Allow-Origin:///到file:///(无服务器) 跨站点XMLHttpRequest 同样,我的最后一招是在网页加载时加载所有数据 – 这可能导致加载网页的延迟最多10秒,这对90%的应用用户来说是不必要的。 感谢您的任何建议/替代方案!