小编Mos*_*sho的帖子

ES2015模板字符串安全问题

以下是MDN的引用:

模板字符串不能由不受信任的用户构造,因为它们可以访问变量和函数.

一个例子:

`${console.warn("this is",this)}`; // "this is" Window

let a = 10;
console.warn(`${a+=20}`); // "30"
console.warn(a); // 30
Run Code Online (Sandbox Code Playgroud)

此处的示例未显示我可以看到的任何漏洞.

任何人都可以举一个利用这个漏洞利用的例子吗?

javascript security ecmascript-6

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

Yeoman gifsicle错误(和其他人)

我在尝试时遇到以下错误yo angular:

在脚手架期间还有其他错误消息.

我做了:

npm install -g yo npm install -g generator-angular yo angular

npm install失败后我也尝试过做.

我也试过用yo webapp.

这是错误:

> optipng-bin@0.3.1 postinstall C:\Users\SR71042\Documents\yeoman-app\node_modul
es\grunt-contrib-imagemin\node_modules\optipng-bin
> node lib/check.js


events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)

> jpegtran-bin@0.2.3 postinstall C:\Users\SR71042\Documents\yeoman-app\node_modu
les\grunt-contrib-imagemin\node_modules\jpegtran-bin
> node lib/check.js


module.js:340
    throw err;
          ^
Error: Cannot find module 'chalk'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17) …
Run Code Online (Sandbox Code Playgroud)

yeoman

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

通过代理进行凉亭

我正试图通过公司代理使用凉亭.我在这里读到我应该在我的.bowerrc文件中添加一些内容.我做了,而不是得到一个未找到错误,我得到ECONNRESET.

npm工作正常.

有什么建议?

错误:

最后一个:

Request to https://bower.herokuapp.com/packages/bootstrap failed: tunneling socket could
not be established, cause=Parse Error
Run Code Online (Sandbox Code Playgroud)

还有一堆这些:

bower retry         Request to https://bower.herokuapp.com/packages/jquery faile
d with ECONNRESET, retrying in 12.4s
bower retry         Request to https://bower.herokuapp.com/packages/angular-mock
s failed with ECONNRESET, retrying in 9.1s
bower retry         Request to https://bower.herokuapp.com/packages/angular-scen
ario failed with ECONNRESET, retrying in 15.0s
bower retry         Request to https://bower.herokuapp.com/packages/angular-rout
e failed with ECONNRESET, retrying in 15.7s
bower retry         Request to https://bower.herokuapp.com/packages/angular-sani
tize failed with ECONNRESET, retrying in 11.6s …
Run Code Online (Sandbox Code Playgroud)

npm bower

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

如何使用指令模板保留元素内容?

我正在尝试添加ng-click一个按钮.我的HTML:

<button class="btn">clicky</button>

指令:

angular.module('app').directive('btn', function() {
  return {
    restrict: 'C',
    replace: true,
    scope: true,
    transclude: true,
    template: '<button ng-click="onClick()"></button>'
  };
});
Run Code Online (Sandbox Code Playgroud)

clicky从元素中删除.

Transclude没有帮助.谢谢你的回答.

javascript angularjs

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

在VSCode中包含d.ts类型定义文件

我已经开始使用VSCode 0.7.0并注意到这些注释说你不必再添加///引用了:

随着jsconfig.json的引入,您不再需要在每个文件中使用///引用(这些在VS代码的初始版本中是必需的).由于文件集是在jsconfig.json中定义的,因此VS Code知道哪些文件和符号是项目的一部分.

例如,您可以将新的类型定义.d.ts文件拖放到项目文件夹中,VS Code将自动将其拾取.

但是,我在typings文件夹中删除了许多这样的文件,似乎VSCode没有识别它们.有人对这个有经验么?

typescript visual-studio-code

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

Angular中的指令优先级不起作用

我有这个元素:

<div ace-editor dl-editor></div>

这些指令:

angular.module('DLApp')


.directive 'aceEditor', () ->
  restrict: 'A'
  priority: 10
  scope: false
  link: linkFunc1

.directive 'dlEditor', (Graph) ->
    restrict: 'A'
    priority: 0
    scope: false
    link: linkFunc2
Run Code Online (Sandbox Code Playgroud)

(我知道这0是默认的)

dlEditor总是首先执行,然后aceEditor.我究竟做错了什么?

javascript angularjs

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

了解Bison/Jison

我希望为现有语言创建一个JavaScript解析器,它目前拥有笨拙的"手工制作"C#和Java解析器.我想使用Jison,并且一直在努力学习Bison的基础知识.

我不确定如何回答的一个问题是Bison/Jison的输出究竟是什么?我是否自动获得任何信息(例如AST)?或者使用编写野牛文件的人使用规则操作完成所有操作.因此,例如,如果我有一个规则指定适合规则的新变量赋值:

VariableStatement:VAR VariableDeclarationList';'

我是否必须指定一个操作,例如{var var1 = {name:$ 1,value:$ 2}(好吧,不适用于此特定规则,但假设$ 2是某些终端令牌)要在由javascript生成的文件中运行Jison实际上创建了新的变量?或者我弄错了.

谢谢!

bison jison

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

同时ajax请求angularjs?

我想一次发送multipal ajax请求.这是我的js代码.

<a class='btn btn-success' ng-click='getDataajax()'>Re Check</a>

app.controller('customersCrtl', function($scope, $http, $timeout) {
    function wrapper() {
        $scope.getEventSeconds();
        $timeout(wrapper, 5000);
    }
    $http.get('cget.php', {
        params: {
            'action': 'get_info'
        }
    }).success(function(data) {
        $scope.list = data;
        $scope.currentPage = 1; //current page
        $scope.entryLimit = 10; //max no of items to display in a page
        $scope.filteredItems = $scope.list.length; //Initially for no filter  
        $scope.totalItems = $scope.list.length;
    });
    $timeout(wrapper, 5000);
    $scope.getDataajax = function() {
        $http.get('cget.php', {
            params: {
                'action': 'set_info'
            }
        }).success(function(data) {});
    };
    $scope.getEventSeconds = function() {
        $http.get('cget.php', …
Run Code Online (Sandbox Code Playgroud)

ajax jquery angularjs

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

JSON.parse解析JSON.stringify输出但不解析字符串本身

我在Chrome控制台中得到了这个:

JSON.stringify(({wat:"\""}))
> "{"wat":"\""}"
JSON.parse(JSON.stringify(({wat:"\""})))
> Object {wat: """}
JSON.parse('{"wat":"\""}')
> VM34235:1 Uncaught SyntaxError: Unexpected string in JSON at position 9(…)
Run Code Online (Sandbox Code Playgroud)

截图:

有心计

JSON.parseJSON.stringify({wat:"\""})当我尝试eval 时,在传递输出时成功解析但抛出JSON.parse('{"wat":"\""}').

我在叫恶作剧.

javascript parsing json

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

有没有更好的方法来执行"x = y?y:x"?特别是在JS中

它看起来如此多余和丑陋.我最近经常使用那种表达方式,必须采用另一种方式.

"如果有效则将y分配给x,否则保持x不变"

x = y ? y : x
Run Code Online (Sandbox Code Playgroud)

javascript ternary-operator

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

d3.js - 用线条连接形状(不使用力或其他布局)

我有一堆静态圆圈,我想用线条连接它们(这是一个依赖图).我看到的所有示例都是使用d3的现成布局完成的,我不确定如何有效地处理这个问题.我还想在鼠标悬停在该节点上时突出显示与节点相关的线条,以及淡化任何其他形状/线条.

这就是我现在所拥有的:(它只是根据给定的区域大小绘制均匀间隔和大小的圆圈)

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="http://mbostock.github.com/d3/d3.js"></script>
</head>
<body style="overflow: hidden;">
     <div id="drawarea"  style="overflow: hidden;"></div>

   <script type="text/javascript">


var dataset = [],
    i = 0;

for(i=0; i<45; i++){
    dataset.push(Math.round(Math.random()*100));
}    

 var   width = 5000,
       height = 3000;

var svg = d3.select("#drawarea").append("svg")
    .attr("width", width)
    .attr("height", height)
    .call(d3.behavior.zoom().scaleExtent([1, 8]).on("zoom", zoom))
  .append("g");

var div_area = width*height,
    num_nodes = dataset.length,
    node_area = div_area/num_nodes*0.7,
    node_to_padding_ratio = 0.50,
    node_dia_inc_pad = Math.sqrt(node_area),
    node_radius_wo_pad = node_dia_inc_pad/2*node_to_padding_ratio,
    node_padding = node_dia_inc_pad/2*(1-node_to_padding_ratio),
    nodes_in_width = parseInt(width/(node_dia_inc_pad)),
    nodes_in_height = parseInt(height/(node_dia_inc_pad));  

svg.selectAll("circle")
    .data(dataset) …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

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