小编Jon*_*han的帖子

transitionend事件发生两次

我有以下代码,我的问题是该transitionend事件被触发两次.我不知道是什么造成了这种情况.我怀疑供应商前缀导致它,但他们没有.即使我只有离开transitionend,并transition仍然会闪光两次.

CSS

transition: 1s ease-out;
Run Code Online (Sandbox Code Playgroud)

JS

document.addEventListener('click', function (e) {
    var submarine = document.querySelector('.submarine');
    var submarineX = e.clientX - submarine.offsetWidth / 2;
    var submarineY = e.clientY - submarine.offsetHeight / 2;

    submarine.style.left = submarineX + "px";
    submarine.style.top = submarineY + "px";
});

document.addEventListener('transitionend', function (event) {
    console.log(event.type + " " + new Date().getTime());
});
Run Code Online (Sandbox Code Playgroud)

小提琴

document.addEventListener('transitionend', function (event) {
    console.log(event.type + " " + new Date().getTime());
});

document.addEventListener('click', function (e) {
    var submarine = document.querySelector('.submarine'); …
Run Code Online (Sandbox Code Playgroud)

javascript css3

33
推荐指数
3
解决办法
2万
查看次数

你如何将嵌入式Youtube播放器静音?

我正在尝试使用Youtube播放器,但默认情况下我无法将其静音.

function onPlayerReady() {
    player.playVideo();
    // Mute?!
    player.mute();
    player.setVolume(0);
}
Run Code Online (Sandbox Code Playgroud)

我如何从一开始就将其静音?

小提琴


更新:

不推荐使用JavaScript Player API.
请使用iframe嵌入.

javascript youtube youtube-api

20
推荐指数
2
解决办法
7万
查看次数

如果jQuery合并函数中的条件令人困惑

我刚刚浏览了jQuery的代码并遇到了函数merge.我检查了这个函数的代码:

merge: function( first, second ) {
    var len = +second.length,
        j = 0,
        i = first.length;

    while ( j < len ) {
        first[ i++ ] = second[ j++ ];
    }

    // Support: IE<9
    // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)

    if ( len !== len ) {
        while ( second[j] !== undefined ) {
            first[ i++ ] = second[ j++ ];
        }
    }

    first.length = i;

    return first;
},
Run Code Online (Sandbox Code Playgroud)

现在,如果您查看代码,您将看到以下if检查: …

javascript jquery nan

17
推荐指数
1
解决办法
253
查看次数

如何使用带有命名空间属性href的SVG元素的CSS属性选择器?

为什么我不能通过他们的href属性选择元素?

CSS

/* Works */
svg image[type=overlay]{
    outline: 3px solid blue;
}

/* Doesn't work */
svg image[href*='temp']{
    outline: 5px solid red;
}

/* Doesn't work either */
svg image[href='wcs/WFL/position/temp2.png']{
    outline: 5px solid red;
}
Run Code Online (Sandbox Code Playgroud)

SVG

<image display="inline" type="overlay" width="148" height="90" x="920" y="918" transform="" href="wcs/WFL/position/temp2.png"><title>B02003
Temp: 2</title></image>
Run Code Online (Sandbox Code Playgroud)

我注意到浏览器将href属性转换为xlink:hrefimage[xlink:href*='temp']不起作用.

我怎样才能做到这一点?

编辑: SVG使用以下命名空间,我认为这会导致问题,但我不知道如何解决它.

xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
Run Code Online (Sandbox Code Playgroud)

小提琴

css svg css-selectors

9
推荐指数
1
解决办法
5270
查看次数

如何运行 Algolia Firestore 扩展导入脚本?

我正在安装Algolia 扩展Firestore 的安装程序工作得很好,它会更新添加、删除和更新的索引。但现在我想用现有数据回填它。

设置指南中提供了以下步骤,但我不知道如何运行该脚本。我尝试过将其直接粘贴到节点 shell 和 powershell 中,将其添加到 js 或 ps1 文件中并运行它,但我不知道这是什么类型的脚本。

Firestore 控制台

我如何运行这个脚本?(我旁边有一个服务帐户json)

algolia google-cloud-firestore firebase-extensions

9
推荐指数
1
解决办法
1059
查看次数

如何在源图中使用断点(Chrome DevTools)

我已经在我的爱好项目中添加了一些像Babel和闭包编译器这样的东西,但却发现Chrome没有在我的映射文件中点击断点.

这是一个重现问题的片段:

function test(){console.log("Break me")}test();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFBLElBQUEsR0FBQTtBQUNBLFlBQUEsR0FBQSxDQUFBLFVBQUE7QUFDQTs7QUFFQSIsImZpbGUiOiJtYWluLm1pbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHRlc3QoKSB7XHJcbiAgICBjb25zb2xlLmxvZygnQnJlYWsgbWUnKTtcclxufVxyXG5cclxudGVzdCgpOyJdfQ==
Run Code Online (Sandbox Code Playgroud)

Chrome会选择映射文件,但这里不会出现断点,
这会破坏添加源图的目的......

文件树 映射文件

如何在地图上点击断点?

Chrome版本50.0.2661.94米,使用外部地图文件

编辑:
当我通过Babel/closure管道代码时,我的源代码似乎有问题...
(所以请忽略该代码段​​,源代码图似乎已损坏)

gulpfile.js

.pipe(sourcemaps.init())
.pipe(concat("main.min.js"))
.pipe(babel({ presets: ["es2015"] }))
.pipe(closure({ compilation_level: "SIMPLE_OPTIMIZATIONS" }))
.pipe(sourcemaps.write("."))
Run Code Online (Sandbox Code Playgroud)

使用gulp-sourcemaps,gulp-babel,gulp-closure-compiler-service

javascript google-chrome google-chrome-devtools source-maps

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

为什么以下是真的:"狗"===("猫"&&"狗")

为什么&&运算符返回最后一个值(如果该语句为真)?

("Dog" == ("Cat" || "Dog")) // false
("Dog" == (false || "Dog")) // true
("Dog" == ("Cat" && "Dog")) // true
("Cat" && true) // true
(false && "Dog") // false
("Cat" && "Dog") // Dog
("Cat" && "Dog" && true) // true
(false && "Dog" && true) // false
("Cat" && "Dog" || false); // Dog
Run Code Online (Sandbox Code Playgroud)

小提琴

javascript

6
推荐指数
2
解决办法
690
查看次数

我们手动需要清除闭包中的未引用变量吗?

我正在阅读这篇关于内存泄漏的文章(http://javascript.info/tutorial/memory-leaks#memory-leak-size),其中提到这是一个内存泄漏:

function f() {
    var data = "Large piece of data";

    function inner() {
        return "Foo";
    }

    return inner;
}
Run Code Online (Sandbox Code Playgroud)

JavaScript解释器不知道内部函数可能需要哪些变量,所以它保留了所有内容.在每个外部词汇环境中.我希望,新的口译员会尝试优化它,但不确定他们的成功.

文章建议我们data = null在返回内部函数之前需要手动设置.

今天这是否适用?或者这篇文章过时了吗?(如果它已经过时,有人可以指出我有关当前陷阱的资源)

javascript memory-leaks

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

设置文件压缩属性

我期望这段代码:

if (!File.Exists(fullFileName))
{
    File.Create(fullFileName);
}

File.SetAttributes(fullFileName, FileAttributes.Compressed);
Run Code Online (Sandbox Code Playgroud)

要设置此标志:

在此输入图像描述

但它不...我做错了什么?如何在文件上设置该标志?


更新:文档中

“无法使用 SetAttributes 方法更改 File 对象的压缩状态。”

显然,使用静态 File.SetAttributes 时它也不起作用。

鉴于此,如何才能实现这一目标呢?

c# compression ntfs file-attributes

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

Firebase:如何在 onCreate Firebase Cloud 函数中获取 getAdditionalUserInfo

我正在尝试从 SAML 登录提供商获取一些附加数据。我可以在客户端中看到这些数据,但我不知道如何在后端(firebase 函数)中获取这些数据。

我在 FE 中使用这些

"firebase": "^9.8.2",
"firebase-functions": "^3.14.1",
Run Code Online (Sandbox Code Playgroud)

这在BE

"firebase-admin": "^10.2.0",
"firebase-functions": "^3.21.2",
Run Code Online (Sandbox Code Playgroud)

这是数据以及我如何在客户端中获取它:

async myproviderSignIn() {
  const provider = new SAMLAuthProvider('saml.myprovider');
  const auth = getAuth();

  const userCredential = await signInWithPopup(auth, provider);
  const credential = SAMLAuthProvider.credentialFromResult(userCredential);

  if (!environment.production) {
    console.log('User:', userCredential, credential);
    console.log(
      'getAdditionalUserInfo:',
      getAdditionalUserInfo(userCredential)
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是我所追求的并由客户端中的 getAdditionalUserInfo 记录:

{
    "isNewUser": false,
    "providerId": "saml.myprovider",
    "profile": {
        "urn:schac:attribute-def:schacPersonalUniqueCode": "urn:schac:personalUniqueCode:nl:local:diy.myproviderconext.nl:studentid:123456",
        "urn:oid:1.3.6.1.4.1.25178.1.2.9": "diy.myproviderconext.nl",
        "urn:oid:1.3.6.1.4.1.25178.1.2.14": "urn:schac:personalUniqueCode:nl:local:diy.myproviderconext.nl:studentid:123456",
        "urn:oid:0.9.2342.19200300.100.1.3": "student1@diy.myproviderconext.nl",
        "urn:oid:1.3.6.1.4.1.5923.1.1.1.1": [
            "student",
            "employee",
            "staff",
            "member"
        ],
        "urn:mace:dir:attribute-def:eduPersonAffiliation": [
            "student",
            "employee", …
Run Code Online (Sandbox Code Playgroud)

node.js firebase typescript firebase-authentication google-cloud-functions

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

将列汇总到SQL中的当前行?

我正在尝试将列添加到当前行(在SQL Server中).我该怎么做呢?

select t1.CounterTime,
       t1.StartTime,
       t1.EndTime,
       isNull(t1.value, 0) as value1,

       -- How do I make Total1 the sum of t1.value over all previous rows?
       sum( isNull(t1.value, 0) ) over (partition by t1.CounterTime order by t1.CounterTime) as Total1

from   SomeTable t1
order by t1.CounterTime
Run Code Online (Sandbox Code Playgroud)

但我partition by弄错了......

?????????????????????????????????????????????????????????????????????????????????????????????????????
?   ?      CounterTime        ?        StartTime        ?         EndTime         ? value1 ? Total1 ?
?????????????????????????????????????????????????????????????????????????????????????????????????????
? 1 ? 2015-03-17 12:00:00.000 ? 2015-03-17 00:00:00.000 ? 2015-03-18 00:00:00.000 ?     0  ?     0  ?
? 2 ? …
Run Code Online (Sandbox Code Playgroud)

sql sql-server partitioning sum

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

劫持与JQuery的链接,未绑定的新链接

我正在尝试现代化一个不使用ajax的50页网站,所以很难维护,因为每次编辑都必须在50页上完成.

现在我已经摆脱了所有50页重复的HTML,但它运行不正常:

function hijax() {
  $("a").click(function (e) {
    e.preventDefault();

    var url = this.href;
    if (url.indexOf("index.html") != -1) {
      $('#ajax').load("home.html", function () {
        hijax();
      });
    }
    else {
      $('#ajax').load(url, function () {
        hijax();
      });
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这适用于主页面,但通过Ajax加载的链接未被劫持.似乎回调是在加载HTML之前完成的.有办法解决这个问题吗?

编辑:

回应Bergi:

$('#ajax').load("home.html", function (e) {
        hijax();
      });
Run Code Online (Sandbox Code Playgroud)

传入event回调会导致原始代码按预期工作.Joe的解决方案看起来更优雅,所以我坚持这一点.多谢你们.

html javascript jquery

0
推荐指数
1
解决办法
2449
查看次数