小编Raz*_*zor的帖子

获取:POST json数据

我正在尝试使用fetch POST一个JSON对象.

根据我的理解,我需要将一个字符串化的对象附加到请求的主体,例如:

fetch("/echo/json/",
{
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    method: "POST",
    body: JSON.stringify({a: 1, b: 2})
})
.then(function(res){ console.log(res) })
.catch(function(res){ console.log(res) })
Run Code Online (Sandbox Code Playgroud)

当使用jsfiddle的json echo时,我希望看到我发送的对象({a: 1, b: 2}),但这不会发生 - chrome devtools甚至不会将JSON显示为请求的一部分,这意味着它没有被发送.

javascript json fetch-api

468
推荐指数
10
解决办法
55万
查看次数

xpath日期比较

我正在尝试根据格式中的日期属性过滤元素yyyy-MM-dd.

我的XML看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <article title="wired" pub-date="2010-11-22" />
  <article title="Plus 24" pub-date="2010-11-22" />
  <article title="Finance" pub-date="2010-10-25" />
</root>
Run Code Online (Sandbox Code Playgroud)

我的xpath尝试:

'//article[xs:date(./@pub-date) > xs:date("2010-11-15")]'
Run Code Online (Sandbox Code Playgroud)

使用xpath 2.0 - 除非绝对必要,否则将避免添加模式.

来自评论:

我相信我一定会遗漏一些东西.是否有可能需要为xs:date指定其他内容?也许一个xs:名称空间定义?

xml xpath xpath-2.0

19
推荐指数
1
解决办法
3万
查看次数

javascript上下文菜单点击事件/检测 - 过滤粘贴内容

场景:我正在尝试拦截textarea/input文本中的粘贴事件,并过滤要粘贴的内容.

Webkit/IE处理得相当好,因为我可以将代码附加到onpaste事件中,然后从剪贴板中读取正在粘贴的内容.大量实例左右.

Gecko比较棘手,因为据我所知,不可能在ffox上读取剪贴板内容 (除非有人知道解决方法吗?)
我只是使用输入交换技巧.

歌剧正在烦人.我可以陷阱CTRL+ VSHIFT+ INS,但没有onpaste事件.
显然,更不用说任何类型的剪贴板交互了.

所以,我的问题是:

我可以检测用户是否 在Opera的上下文菜单中单击了paste 吗?有没有其他方法来检测事件?

编辑:

感谢大家的答案 - 即使没有明确的解决方案,他们都会增加一个好的输入.
不得不选择,我会选择唯一一个试图解决原始问题的人,如果不是太多的黑客甚至尝试,这可能会有用.

那些有同样问题的人的注释(输入过滤):

  • 可以捕捉的内容被拖拽:mouseup+ setTimeout的伎俩几乎处处完美.
  • 没有闪存,可能没有解决方案栏轮询.即使使用闪光灯,它也不是一个完全可靠的解决方案.太多的努力来支持100%的案件.

javascript jquery cross-browser dom-events

17
推荐指数
3
解决办法
6171
查看次数

以角度加入承诺

如何以角度加入 2+承诺?

(我已经看过链接它们的文档,但这不是我需要的)

我想在Q中实现的例子:

Q.all([promiseA, promiseB]).done(function () {
    console.log("Both promises have been executed concurrently and then resolved");
});
Run Code Online (Sandbox Code Playgroud)

promise angularjs

15
推荐指数
1
解决办法
3357
查看次数

从javascript检测连接协议(HTTP/2,spdy)

是否有可能获得浏览器用于获取活动页面的协议?
就像是:

performance.navigation.protocol // e.g. "HTTP/2" or "SPDY/3.1" or "HTTP/1.1"
Run Code Online (Sandbox Code Playgroud)

我知道可以检测协议服务器端然后传递信息,但我正在寻找一个JS解决方案.

(类似的问题包含断开的链接,没有答案)

javascript browser

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

GIT藏匿日期

鉴于以下藏匿内容:

$ git stash list
stash@{0}: On fixes: animations-fixes
stash@{1}: WIP on master: 62aecaa Merge pull request #10 from SOURCE/branch-name
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以使用相同的列表,但包括创建存储的日期?

git

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

JavaScript ES6模块+ traceur

我正在使用ES6模块转换为带有traceur的 ES5 .
通过grunt + grunt-traceur进行脱毛

Traceur允许您选择要使用的模块处理程序:它自己的,AMD,commonJS或内联.
我尝试了大部分,但似乎没有一个工作.为什么?

TestClass.js

export default class TestClass {
    constructor() {
        alert('test');
    }
}
Run Code Online (Sandbox Code Playgroud)

Main.js

import TestClass from './TestClass';

var test = new TestClass();
Run Code Online (Sandbox Code Playgroud)

Gruntfile.js(摘录)

traceur: {
    options: {
        experimental: true,
        blockBinding: true,
        modules: 'amd'
    }
}
Run Code Online (Sandbox Code Playgroud)

index.html(提取)

<script src="js/vendor/traceur-runtime.js"></script>
<script src="js/vendor/require.js"></script>

<script defer async src="js/compiled/Main.js"></script>
Run Code Online (Sandbox Code Playgroud)

给出错误

未捕获的错误:匿名的define()模块不匹配:函数($ __ 0){

似乎grunt插件存在问题,但即使使用旧版本似乎也没有帮助.

代码改编自一篇文章.

javascript ecmascript-6 traceur

8
推荐指数
1
解决办法
1554
查看次数

使用Velocity进行数组合并/操作

我在包含一些路径的速度模板中有一个数组.
我们的想法是放置一些"默认".js/.css文件,90%的页面将在此数组中使用这些文件.
但是,其他页面仍然必须能够添加/删除此数组中的值,以防根本没有链接文件,或者我需要添加一些.

鉴于此代码:

#set ( $head.scripts = [ "https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js" ] )

#foreach ($URI in $head.scripts)
<script type="text/javascript" src="$URI"></script>
#end
Run Code Online (Sandbox Code Playgroud)

有没有办法从这些默认值中添加/删除值?
我已经看过这个列表工具,但看起来它还不够我需要的东西.

velocity

7
推荐指数
1
解决办法
7280
查看次数

如何制作逼真的轮盘球旋转动画

我正在使用PhysicsJS制作2D轮盘球旋转动画.

到目前为止,我已经实现了以下内容:

  • 使用约束使球不会"飞走":
    rigidConstraints.distanceConstraint( wheel, ball, 1 );
  • 拖动减速球:
    world.add(Physics.integrator('verlet', { drag: 0.9 }));
  • 让车轮吸引球,当阻力足够慢时,球会落到它上面

我的问题:

  1. 我如何逐渐减慢球的旋转速度?
    我已经有了很高的drag价值,但它看起来并没有做任何事情
  2. 如何吸引车轮工作?
    距离约束应该防止球逃脱,而不是靠近车轮.
  3. 为什么 angularVelocity: -0.005 在车轮上根本不起作用?

我的代码,也在JSfiddle上

Physics(function (world) {
    var viewWidth = window.innerWidth
        ,viewHeight = window.innerHeight
        ,renderer
        ;

    world.add(Physics.integrator('verlet', {
        drag: 0.9
    }));

    var rigidConstraints = Physics.behavior('verlet-constraints', {
        iterations: 10
    });

    // create a renderer
    renderer = Physics.renderer('canvas', {
        el: 'viewport'
        ,width: viewWidth
        ,height: viewHeight
    });

    // add the renderer
    world.add(renderer);
    // …
Run Code Online (Sandbox Code Playgroud)

javascript physicsjs

7
推荐指数
1
解决办法
2244
查看次数

当应用于body或div时,相同的CSS表现不同

使用DIV作为容器

<div class="container">
  <div class="half-hidden"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.container {
  margin: 20px auto 0;
  width: 200px;
  height: 200px;

  border: 1px solid red;
  position: relative;
  overflow: hidden;
}

.half-hidden {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: -50px;
  width: 100px;

  border: 1px solid teal;
}
Run Code Online (Sandbox Code Playgroud)

使用容器呈现页面

使用body作为容器

<div class="half-hidden"></div>
Run Code Online (Sandbox Code Playgroud)

CSS

替换上面.containerbody

使用body作为容器呈现页面

为什么?

css

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