小编Ben*_*aum的帖子

哪个版本的Microsoft Internet Explorer支持WebRTC?

Chrome和Firefox都支持WebRTC.

Internet Explorer是否支持它?从哪个版本开始?

如果没有,是否有计划在未来支持它,如果有的话,何时?

使用像webrtc4all这样的项目提供支持 ,这是一个实用的解决方案吗?

更新:我现在在与WebRTC合作一年后.WebRTC不会也不会在IE上工作(第三方解决方案使其几乎不起作用,如果有的话,不应该依赖它).最好等待Edge重写为Chromium,此时将支持WebRTC.

internet-explorer webrtc

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

JavaScript设置指针事件

我试图pointer-events: none通过JavaScript 设置div,但该属性未被应用.

我试过了:

document.getElementById("div").setAttribute("pointer-events", "none");
Run Code Online (Sandbox Code Playgroud)

和:

document.getElementById("div").style.pointer-events = "none";
Run Code Online (Sandbox Code Playgroud)

但是没有工作,有什么想法吗?

javascript css

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

如何将Bluebird与Angular一起使用?

我尝试使用Angular和Bluebird的承诺:

HTML:

<body ng-app="HelloApp">
    <div ng-controller="HomeController">{{name}} {{also}}</div>
</body>
Run Code Online (Sandbox Code Playgroud)

JS:

// javascript
var app = angular.module('HelloApp', []);

app.controller("HomeController", function ($scope) {
    var p = Promise.delay(1000).then(function () {
        $scope.name = "Bluebird!";
        console.log("Here!", $scope.name);
    }).then(function () {
        $scope.also = "Promises";
    });
    $scope.name = "$q";
    $scope.also = "promises";
});

window.app = app;
Run Code Online (Sandbox Code Playgroud)

[ 小提琴 ]

但是,不管我尝试了什么,它都会保持停留"$q promises"并且不会更新.除非我添加了一本$scope.$apply我宁愿避免使用的手册.

如何让Bluebird与AngularJS合作?

(我知道这是可能的,因为$ q会这样做)

我正在使用Bluebird 2.0,我在这里.

javascript promise angularjs bluebird angular-promise

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

ECMAScript规范中的`new Object` vs`Object`

所以,我在定义什么new ObjectObject做什么时看着ES5规范.出乎我的意料:

  • new Object描述了对象构造函数如何工作的整个算法 - 处理不同类型的值所发生的事情.基本上调用ToObject非对象 - 对象上的标识和构建在null和undefined上.
  • Object在null和undefined中有一个特殊的第一步,它构建一个对象,然后调用对象ToObject上的基元和标识.

在阅读了几次描述之后 - 它们看起来完全相同.但是,很明显,从规范中他们做不同的事情.例如,在Array调用new Array中指定函数调用Array(…)等同于new Array(…)具有相同参数的对象创建表达式

那么 - 之间有什么区别?为什么他们指定不同?new ObjectObject

为了方便 - 这里是规范链接.

javascript language-lawyer ecmascript-5

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

XSLT和XSL-FO有什么区别?

XSLT和XSL-FO有什么区别?

我读过的每一个资源都像处理它们一样处理它们,或者至少非常紧密地绑定它们.

xml xslt xsl-fo

42
推荐指数
4
解决办法
2万
查看次数

让let语句在全局对象上创建属性吗?

在JavaScript中,var声明在全局对象上创建属性:

var x = 15;
console.log(window.x); // logs 15 in browser
console.log(global.x); // logs 15 in Node.js
Run Code Online (Sandbox Code Playgroud)

ES6引入let了具有块范围的声明的词法作用域.

let x = 15;
{
   let x = 14;
}
console.log(x); // logs 15;
Run Code Online (Sandbox Code Playgroud)

但是,这些声明是否在全局对象上创建属性?

let x = 15;
// what is this supposed to log in the browser according to ES6?
console.log(window.x); // 15 in Firefox
console.log(global.x); // undefined in Node.js with flag
Run Code Online (Sandbox Code Playgroud)

javascript let ecmascript-6

41
推荐指数
3
解决办法
2863
查看次数

Javascript ES6会答应支持'完成'api吗?

例如

p = new Promise(function (resolve, reject) {
    throw 'err';
});

p.done();
Run Code Online (Sandbox Code Playgroud)

在大多数promise polyfill库中,done将抛出一个错误,当前执行将退出.

但如果我们使用p.then(),什么都不会发生.承诺吞噬了这个错误.如果我们使用p.catch,我们无法退出当前执行.我希望实现以下目标:

try {
    // something
} catch (err) {
    if (check(err)) {
        throw err;
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript promise ecmascript-6 es6-promise

40
推荐指数
2
解决办法
6888
查看次数

获得Angular的状态延期?

随着jQuery延迟,我以前能够像这样检查当前状态:

var defer = $.Deferred();
defer.state();  //Returns the state of the deferred, eg 'resolved'
Run Code Online (Sandbox Code Playgroud)

Angular deferreds有没有办法做同样的事情?(甚至更好的承诺)

jquery promise angularjs angular-promise

39
推荐指数
2
解决办法
4万
查看次数

没有办法在javascript中拥有基于类的对象?

基于javascript原型的面向对象编程风格很有趣,但是在很多情况下你需要能够从类创建对象.

例如,在矢量绘图应用程序中,工作空间通常在绘图开始时为空:我无法从现有工作空间创建新的"行".更一般地说,动态创建对象的每种情况都需要使用类.

我已经阅读了很多教程和书"Javascript:好的部分",但在我看来,没有办法定义尊重1)封装的类和2)有效的成员方法声明(我的意思是:成员)正在定义的方法,并在每个类实例之间共享).

要定义私有变量,正在使用闭包:

function ClassA()
{
    var value = 1;
    this.getValue = function()
    {
        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是"ClassA"的每个实例都有自己的成员函数"getValue"的副本,这是无效的.

要有效地定义成员函数,正在使用原型:

function ClassB()
{
    this.value = 1;
}

ClassB.prototype.getValue = function()
{
    return this.value;
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是成员变量"value"是公共的.

我不认为这个问题可以轻易解决,因为在创建对象期间需要定义"私有"变量(以便对象可以访问其创建的上下文,而不暴露those值)而基于原型的成员函数定义必须在对象创建后完成,因此原型有意义("this.prototype"不存在,我已经检查过).

或者我错过了什么?


编辑:

首先,感谢您的有趣答案.

我只想为我的初始消息添加一点精度:

我真正想做的是拥有1)私有变量(封装是好的,因为人们只能访问他们需要的东西)和2)有效的成员方法声明(避免拷贝).

似乎简单的私有变量声明只能通过javascript中的闭包来实现,这就是为什么我专注于基于类的方法.如果有一种方法可以用基于原型的方法实现简单的私有变量声明,那对我来说没问题,我不是一个激烈的基于类的方法proponnent.

在阅读答案后,似乎简单的解决方案是忘记私有,并使用特殊的编码约定来阻止其他程序员直接访问"私有"变量...

我同意,我的标题/第一句话对于我想在这里讨论的问题有误导性.

javascript oop private class

38
推荐指数
3
解决办法
3868
查看次数

在Internet Explorer BHO中添加浏览器操作按钮

所以.我在IE中正在开发BHO,我想添加一个像这样的浏览器动作:

在此输入图像描述

在Internet Explorer中它看起来像

在此输入图像描述

我发现的唯一教程和文档是创建工具栏项目.没有提到这个选项.我知道这是可能的,因为crossrider让你做到这一点.我只是不知道如何.

我找不到任何关于如何在BHO中实现这一点的文档.任何指针都非常受欢迎.

我用C#标记这个,因为C#解决方案可能更简单但是C++解决方案,或任何其他有效的解决方案也非常受欢迎.

c# winapi internet-explorer bho browser-action

38
推荐指数
2
解决办法
4010
查看次数