小编m90*_*m90的帖子

应该将"node_modules"文件夹包含在git存储库中

我想知道我们是否应该在我们的仓库中跟踪node_modules或在检查代码时进行npm安装?

git version-control node.js npm

161
推荐指数
6
解决办法
6万
查看次数

使用jQuery创建canvas元素并设置其width和height属性

我只是想在jQuery中执行以下操作:

var newCanvas = $('<canvas/>',{'width':100,'height':200,'class':'radHuh'});
$(body).append(newCanvas);
Run Code Online (Sandbox Code Playgroud)

这工作(种类)并生成以下标记:

<canvas style="width:100px; height:200px;" class="radHuh"></canvas>
Run Code Online (Sandbox Code Playgroud)

由于大多数人可能知道canvas元素并不真正喜欢CSS维度但期望宽度和高度属性,因此这个对象创建失败了.

我知道我可以这样做:

var newCanvas = $('<canvas/>',{'class':'radHuh'}).attr({'width':100,'height':200});
Run Code Online (Sandbox Code Playgroud)

相反,但我只是想知道,如果有任何方式告诉jQuery,width并且height应该在创建元素时被视为属性$('element',{attributes})而不是CSS?

html javascript jquery canvas

29
推荐指数
4
解决办法
5万
查看次数

我怎样才能推迟每个循环的jQuery

我在每个循环的jQuery中进行"重"画布操作,导致较慢的设备(IE和iPad)有时变得完全没有响应.

所以我想我可以使用下划线_.defer()来排列每个循环中的函数,如:

function handleAsset = _.defer(function(){
//weightlifting goes here (partly async)
});

$.each(assets, handleAsset);
Run Code Online (Sandbox Code Playgroud)

然而,这会抛出一个奇怪的错误(堆栈跟踪指向$.each):

Uncaught TypeError: Object 20877 has no method 'call'
Run Code Online (Sandbox Code Playgroud)

这种做法有缺陷吗?这是由于处理程序函数内部的异步操作吗?还有另一种/更好的方法来实现这一目标吗?

javascript jquery underscore.js

16
推荐指数
1
解决办法
1945
查看次数

你为什么要在没有括号的情况下调用新的日期?

我刚刚在Gmail中打开开发工具时看到了这个片段:

var GM_TIMING_END_CHUNK1=(new Date).getTime();
Run Code Online (Sandbox Code Playgroud)

我通常会期待这样的事情,因为调用没有括号的构造函数是相当罕见的(至少我从未见过它直到现在):

var GM_TIMING_END_CHUNK1=new Date().getTime();
Run Code Online (Sandbox Code Playgroud)

要么

var GM_TIMING_END_CHUNK1=Date.now(); //newer browsers
Run Code Online (Sandbox Code Playgroud)

这样做有什么好处,行为有什么不同吗?这是完全相同的字符数量,所以简洁不是一个原因.

javascript datetime constructor

16
推荐指数
2
解决办法
1686
查看次数

什么可能会改变我在JavaScript中构造的查询字符串参数?

所以这可能需要很长时间,但我完全不知道可能导致此问题的原因:

我正在提供客户端JavaScript,它解析嵌入它的页面上的某些参数,使用这些参数构建URL并使用该URL将iframe注入页面,如:

var queryParams = {
  param: 'foo'
  , other: 'bar'
};
Run Code Online (Sandbox Code Playgroud)

变成了:

<iframe src="http://example.net/iframes/123?param=foo&other=bar"></iframe>
Run Code Online (Sandbox Code Playgroud)

这工作得很好,我每天提供大约150万个请求.然而,我最近注意到,在每天大约3.000个案例中,查询参数的值被洗牌,所以这样请求:

<iframe src="http://example.net/iframes/123?param=ofo&other=rba"></iframe>
Run Code Online (Sandbox Code Playgroud)

从日志来看,这与特定用户有关,并且每个请求都会重新发生字符的混乱,因此当用户使用脚本浏览具有多个页面的站点时,我可以看到这样的序列:

108.161.183.122 - - [14/Sep/2015:15:18:51 +0000] "GET /iframe/ogequl093iwsfr8n?param=3a1bc2 HTTP/1.0" 401 11601 "http://www.example.net/gallery?page=1" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
108.161.183.122 - - [14/Sep/2015:15:19:07 +0000] "GET /iframe/ogequl093iwsfr8n?param=a21b3c HTTP/1.0" 401 11601 "http://www.example.net/gallery?page=2" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
108.161.183.122 - - [14/Sep/2015:15:19:29 +0000] "GET /iframe/ogequl093iwsfr8n?param=ba132c HTTP/1.0" 401 11601 "http://www.example.net/gallery?page=3" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
Run Code Online (Sandbox Code Playgroud)

401正在服务器期望的故意发生param=abc123.

我还注意到大多数错误都发生在Firefox和Safari中,而Google …

javascript safari firefox browser-extension query-string

16
推荐指数
3
解决办法
1714
查看次数

无法通过cURL连接到PayPal API

我正在尝试通过"Classic"NVP API设置PayPal Express Payment.

尝试使用cURL从我的服务器连接到PayPal-Sandbox,连接会在大约2分钟后停止并超时.

我正在使用来自文档的示例调用:

curl -v --insecure  https://api-3t.sandbox.paypal.com/nvp  -d  "USER=platfo_1255077030_biz_api1.gmail.com&PWD=1255077037&SIGNATURE=Abg0gYcQyxQvnf2HDJkKtA-p6pqhA1k-KTYE0Gcy1diujFio4io5Vqjf&METHOD=SetExpressCheckout&VERSION=78&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=19&PAYMENTREQUEST_0_CURRENCYCODE=USD&cancelUrl=http://www.yourdomain.com/cancel.html&returnUrl=http://www.yourdomain.com/success.html"
Run Code Online (Sandbox Code Playgroud)

Shell输出是:

* About to connect() to api-3t.sandbox.paypal.com port 443 (#0)
* Trying 173.0.82.83... Connection timed out
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
Run Code Online (Sandbox Code Playgroud)

当我尝试通过PHP执行此操作时,curl我不会收到任何错误,只是一个空的资源句柄.

我可以轻松地从本地计算机和我可以访问的其他服务器执行请求(并获取正确的数据),因此我猜这是一些服务器端错误配置正在进行.不是服务员,我有点无能为力.

启用cURL并将以下内容记录在phpinfo:

libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
Run Code Online (Sandbox Code Playgroud)

openSSL也已启用.此外,我在尝试连接到API的实时版本时遇到了同样的问题.

php curl paypal

14
推荐指数
1
解决办法
9207
查看次数

移动设备上的HTML5视频行为

我正在建立一个网站,我有几个<video>元素(循环动画)作为我的设计的一部分(而不是一个实际的视频).这在桌面浏览器中运行良好,但我在移动设备上遇到了麻烦.
当我在Android或iOS设备(即移动webkit)上显示该网站时,我将获得操作系统的视频播放器外观,当我点击它们时,视频将以某种弹出方式打开.我知道我可以通过这样做来绕过自动播放限制:

window.onload = function() {
    var pElement = document.getElementById("myVideo");
    pElement.load();
    pElement.play();
};
Run Code Online (Sandbox Code Playgroud)

但这将再次在一个单独的窗口中打开视频......

有没有人知道在移动设备上模拟/启用类似桌面的行为的可能性?谢谢!

编辑: 标记是基本的<video>-syntax btw:

<video autoplay loop>
    <source src="vid.mp4" type="video/mp4" />
    <source src="vid.ogg" type="video/ogg" />
    <source src="vid.webm" type="video/webm" />
</video>
Run Code Online (Sandbox Code Playgroud)

javascript mobile html5 mobile-webkit html5-video

12
推荐指数
1
解决办法
2万
查看次数

这个函数定义有什么意义?

我理解如何定义这样的函数:

function myfunc(x,y,z) {
   alert("Just an example " + x + y + z)
}
Run Code Online (Sandbox Code Playgroud)

但不是这个:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

    <script>
        (function ($) {
        $.fn.idle = function (x, y, z) {
            alert("Just an example " + x + y + z)
    }(jQuery));
    </script>
Run Code Online (Sandbox Code Playgroud)

以上是我正在使用的库的一部分,但我根本无法理解这$.fn.idle一点.

它在做什么?它以某种方式定义了一个名为'idle'的函数,但是$.fn呢?那(function ($) {部分怎么样?我再次明白,$(document).ready(function() {(function ($) {完全是外星人.这是一个简短的手吗?

(jQuery));底部有什么意义?

javascript jquery

11
推荐指数
1
解决办法
231
查看次数

Phonegap设备已经在iOS中使用Cordova 2.2.0无法启动

我正在构建一个PhoneGap应用程序.不幸的是,当部署到iOS设备和模拟器时,deviceready事件永远不会触发.我正在使用Phonegap 2.2.0.

当我将相同的代码部署到Android(cordova.js当然使用特定于Android的文件)时,应用程序将完美运行.

当我用devicereadyjQuery 替换它时,ready()app也会在iOS上加载,但它将无法访问特定于设备的API.

cordova.js加载过程中,我会看到,我把它里面一个简单的警报消息,但deviceready永远不会触发和API都不会暴露.

我的HTML head:

<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script> <!-- yes it is the iOS version -->
<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)

我的JS:

function doStuff(){
//app functionality
}
document.addEventListener('deviceready', doStuff, false);
Run Code Online (Sandbox Code Playgroud)

但不知何故,东西只会在Android上完成......

javascript jquery ios cordova

10
推荐指数
1
解决办法
2万
查看次数

如何在.npmignore中的目录中将单个文件列入白名单?

我试图在包npm的目录中只下载一个文件npm install.

该目录看起来像:

+- dist/
   +- 1.0.0/
   +- 1.0.1/
   +- ...lots of other dirs...
   +- file.js
Run Code Online (Sandbox Code Playgroud)

我希望npm忽略所有内容,但file.js我尝试在我的内容中包含以下内容.npmignore:

dist/
!dist/file.js
Run Code Online (Sandbox Code Playgroud)

然而,dist当我安装软件包时,npm仍然会下载所有目录.我认为这应该是有效的,.gitignore但显然我在这里遗漏了一些东西.

package-managers gitignore node.js npm npmignore

10
推荐指数
2
解决办法
3254
查看次数