小编fre*_*ent的帖子

如何找到内存泄漏并调试jquery/javascript应用程序?

我正在尝试对用jquery mobile编写的一个相当大的应用程序进行去毛发,并且正在努力确定可疑的内存泄漏. 

我在应用程序中纵横交错地运行所有功能.所有的服务器内存使用情况都是正常的,除了一页以外的所有内容都正常工作

在有问题的页面上(小部件重型产品搜索和订购页面,使用JQM photoswipe,多视图加上一堆其他插件)一直运行良好,直到大多数按钮停止工作. 

没有反应的按钮告诉我,我需要检查我的jquery应用程序管理器,它还处理所有事件绑定.问题是,它大约是90k,我真的不知道从哪里开始,所以

问题:是否有任何工具可以检查Jquery/Javascript是否存在潜在的内存泄漏?我还能做些什么来尝试确定问题?

感谢您的一些见解

javascript memory debugging jquery jquery-mobile

6
推荐指数
1
解决办法
1507
查看次数

为什么"git grep"在我的Windows PC上表现不稳定?

我正在使用Github和Git bash我的Windows PC(运行XP).

在Ubuuntu上我很乐意使用git grep我的代码,但每次我调用类似的东西:

git grep "some text in my repo"
Run Code Online (Sandbox Code Playgroud)

在Windows上,我得到了结果,之后,[END], ~, [RETURN]...当我尝试输入某些内容时,我仍然坚持使用bash窗口显示所有类型的东西.

问题:
除此之外CTRL+R, CTRL+Q, FN+END, Q, ESC我还可以尝试不必强行关闭并重新打开git:bash以继续工作.

谢谢!

编辑:
这就是我的意思:

在此输入图像描述

一旦我开始输入,[END]字符串重新出现(或50行~),我不能在Git上写任何命令,因为无论如何吞下我正在键入的一半......很好的描述. ..

windows git grep github git-bash

6
推荐指数
1
解决办法
1447
查看次数

浏览器可以直接与同一网络上的其他浏览器通信吗?

我正在试图找到一种方法在同一网络上的两个浏览器之间进行通信,以便在没有服务器往返的情况下建立WebRTC(没有STUN/ICE/TURN).基本上是这里找到的方法的替代方案,其中"握手"通过复制/邮件/粘贴完成.

在筛选了我可以找到的所有跨浏览器通信示例(例如通过cookieWebTCP)以及SO上的一堆问题(比如这里)之后,我又想知道一个简单的事情:

问题:
如果Alice和Bob在同foo.html一个网络上访问同一页面并且他们知道彼此的内部分配的IP地址,那么他们是否可以完全与浏览器上的可用内容进行通信?

这不包括像Mozilla TCP_Socket_API这样的非标准API ,但除了允许所有"技巧"(img标签,iframe,cookie等)之外.

我只是好奇我是否可以通过浏览器在同一网络上听某人"播放"某些东西.

编辑:
foo.html将在静态服务器上,没有逻辑,没有ICE,没有快捷方式.

编辑:
仍然不是一个解决方案,但作为Chrome扩展的websocket服务器更接近.这里的示例:几乎纯粹的浏览器无服务器WebRTC

html javascript browser p2p webrtc

6
推荐指数
1
解决办法
2764
查看次数

如何确保绑定到hashChange事件不会冒泡?

我试图保持我的hashChange事件绑定冒泡.

我有这个:

$(window).bind('hashchange', function( e ) {
    console.log("hash fired");
    // run hashChange routine
    });
Run Code Online (Sandbox Code Playgroud)

我的脚本管理页面上的面板,每个面板都有自己的历史堆栈.上面的每次转换都会触发,但是我阻止了前向转换的hashChange,所以我可以更深入地进入面板.在向后的"转换"中,只有hashChange触发并且没有被阻止,所以我可以返回.

导航可能如下所示:

panel A, start down > page2
panel A, page2 down > page3
panel A, page3 up > page2
panel A, page2 up > start - hashChange fires twice here... 
Run Code Online (Sandbox Code Playgroud)

一切正常(= hashChange触发一次),直到我在初始设置之前到达页面.在最后一步,上面的hashChange绑定会触发两次.我已经尝试永远设置一个标志来阻止第二个hashChange,但它不能像我希望的那样工作.

问题:
怎样才能确保这不会冒泡?我正在尝试这样的事情,但它不起作用:

var $blockBubblingHashes = 0;
$(window).bind('hashchange', function( e ) {       
   if ($blockBubblingHashes == 0) {
      // run hashChange routine
      $blockBubblingHashes = 1; 
      } else {
         $blockBubblingHashes = 0;
         }
    });
Run Code Online (Sandbox Code Playgroud)

javascript jquery events event-bubbling

5
推荐指数
1
解决办法
2674
查看次数

使用没有id和name属性的输入元素是有效的HTML吗?

我正在改造一个网站,它在整个页面中多次使用这样的输入:

 <input type="text" name="delDate" value="06.03.2012" />
Run Code Online (Sandbox Code Playgroud)

总是有一个相邻的隐藏输入,当提交表单时,它会将日期输入到特定id之上,但我想知道是否这样做(并且省略输入#id是一种有效的方式,因为W3C验证者不会抱怨它.

谢谢你的一些意见!

html forms validation input

5
推荐指数
1
解决办法
2845
查看次数

如何选择除第一个和最后一个使用CSS之外的所有列表项?

我有一个HTML列表,我需要从中选择除第一个和最后一个元素之外的所有元素.

现在我正在尝试这样:

.inputList li:not(:first-child):not(:last-child) {
    // stuff
    }
Run Code Online (Sandbox Code Playgroud)

不是真的有效...有没有更好的方法,这也适用于IE?

感谢您的投入!

html css css-selectors pseudo-element

5
推荐指数
2
解决办法
7938
查看次数

我可以使用console/alert/some-other-means一次读出所有CSS属性吗?

我正在尝试在iPad上调试网站.在桌面上,一个元素显示,在iPad上它缺失.

问题:
有没有办法在一个类似的语句中输出所有CSS

console.log( $('element').attr('class') );
Run Code Online (Sandbox Code Playgroud)

或者是找到故障属性逐个完成所有CSS规则的唯一方法?

console.log( $('element').css('position') )
console.log( $('element').css('top') )
console.log( $('element').css('left') )
console.log( $('element').css('right') )
console.log( $('element').css('bottom') )
console.log( $('element').css('width') )
console.log( $('element').css('height') )
console.log( $('element').css('display') )
... you get the point...
Run Code Online (Sandbox Code Playgroud)

谢谢你的意见

javascript css jquery

5
推荐指数
1
解决办法
3525
查看次数

如何通过AJAX插入内容后获取元素的高度?

我有一个Jquery Mobile页面,我正在通过AJAX加载表单.我正在使用插件设置页面尺寸,该插件在Ajax运行之后计算尺寸并且布局已更新(之后至少下面的控制台进入).

我需要获得接收内容的元素的高度,但无论我尝试什么,我只是变得垃圾(~169px而不是1200px)

这是我的代码:

(inside plugin)
some: function(){

    var self = this,
    o = self.options,
    wrap = $('div:jqmData(wrapper="true").ui-page-active').last(),
    // elements
    panels = wrap.find('.ui-panel.ui-panel-active').filter(':not(.ui-popover)'),
    pages = panels.find('.ui-page'),
    contents = pages.find('.ui-content');

    // maxHeight contents
    for ( var i = 0; i < contents.length; i++){         
        ct = contents.eq(i);

        console.log( ct );
        console.log( ct.css("height") )
        console.log( ct.height() );
        console.log( ct.outerHeight() );    
    // max
    if ( ct.css("height") > parseFloat( o._iPadFixHeight ) ){
        o._iPadFixHeight = parseFloat( ct.css("height") ) + parseFloat( ct.css('padding-top')) +  parseFloat( ct.css('padding-bottom')) ;
        }; …
Run Code Online (Sandbox Code Playgroud)

javascript css ajax jquery height

5
推荐指数
1
解决办法
2409
查看次数

如何通过JSON传递函数名称并在javascript/jQuery中调用它?

我有一个JSON字符串,其中包含我需要调用的函数.

我的JSON看起来像这样:

{  
    "type":"listview",
    // the function I would like to call
    "content":"dynoData.getRetailers()",
    "custom_classes":["","nMT pickList","",""],
    "lib":"static_listview.html",
    "tmp":"tmp_listview_inset",
    "lang":"locale_search",
    ...
Run Code Online (Sandbox Code Playgroud)

我正在使用它在客户端上组装jQuery Mobile列表视图.要获取动态数据,我需要调用dynoData.getRetailers().

但是我很难打电话:-)

这就是我正在尝试的:

var dyn = $.parseJSON( passed_JSON_string ),
    content = dyn.content;
Run Code Online (Sandbox Code Playgroud)

我希望调用它会触发函数,但它只是将函数名称作为字符串返回.

问题:
如何触发实际功能?

谢谢!

编辑:
我将JSON字符串放在实际页面上的HTML元素上,我将替换为我正在构建的元素.这是HTML:

<ul data-template="true" data-config='{  
    "type":"listview",
    "content":"dynoData.getRetailers()",
    "custom_classes":["","nMT pickList","",""],
    "lib":"static_listview.html",
    "tmp":"tmp_listview_inset",
    "lang":"locale_search",
    "theme":"c",
    "filter":"true"
    }'></ul>
Run Code Online (Sandbox Code Playgroud)

我可以把所有这些都归入data-属性,但那会很混乱......

解决方案:这有效:

1)将JSON更改为:

..."method":"getRetailers", ...
Run Code Online (Sandbox Code Playgroud)

2)从Javascript调用:

content = dynoData[ dyn.method ]();
Run Code Online (Sandbox Code Playgroud)

感谢大家!

javascript parameters jquery triggers function

5
推荐指数
1
解决办法
8171
查看次数

是否可以将整数存储为javascript对象中的键?

我正在用JSON创建一个索引文件,我正在使用它作为我正在处理的javascript应用程序的数据库索引.

我的索引将如下所示:

{
"_id": "acomplex_indices.json",
"indexAB": {
    "title": {
        "Shawshank Redemption": [
            "0"
        ],
        "Godfather": [
            "1"
        ],
        "Godfather 2": [
            "2"
        ],
        "Pulp Fiction": [
            "3"
        ],
        "The Good, The Bad and The Ugly": [
            "4"
        ],
        "12 Angry Men": [
            "5"
        ],
        "The Dark Knight": [
            "6"
        ],
        "Schindlers List": [
            "7"
        ],
        "Lord of the Rings - Return of the King": [
            "8"
        ],
        "Fight Club": [
            "9"
        ],
        "Star Wars Episode V": [
            "10"
        ],
        "Lord …
Run Code Online (Sandbox Code Playgroud)

javascript indexing jquery json types

5
推荐指数
1
解决办法
4869
查看次数