小编Gil*_*esC的帖子

如何测试声音?

我一直试图<audio>通过自动化测试覆盖标签,首先确认它正在播放.

我正在使用通常的角度测试套件,业力和量角器.

"devDependencies": {
    "karma": "~0.10",
    "protractor": "~0.20.1",
    "http-server": "^0.6.1",
    "bower": "^1.3.1",
    "shelljs": "^0.2.6",
    "karma-junit-reporter": "^0.2.2",
    "grunt": "~0.4.1",
    "grunt-contrib-uglify": "~0.2.0",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-watch": "~0.4.3"
}
Run Code Online (Sandbox Code Playgroud)

在业力方面,问题是我无法找到一种方法来添加资源以便在测试中使用,因此没有文件可以在那里播放.如果有一种方法指向要播放的文件,那么它应该不是问题,因为我可以简单地检查paused元素的属性.

在2e2方面,有一个演示应用程序可以完美地运行,测试可以正常加载它并单击其中一个按钮不会产生任何错误(如果您手动尝试它会触发声音).然而,在查看量角器API时,我找不到任何可以让我确保声音实际正在播放的内容,或者允许我像偶数一样访问该元素document并且angular在这里不可用(这在2e2测试中是有意义的)或者只是一个API检查元素属性.

beforeEach(function() {
    browser.get("index.html")
});

it("Ensure the player is playing", function () {

    $$("button").first().click();

    // what to do?

});
Run Code Online (Sandbox Code Playgroud)

我曾经想过可能会嘲笑音频API并简单地伪造正在更新的属性但是我仍在测试我的代码,currentTime当我的最终目标是在音频精灵上测试声音时,很难准确地模拟并在预期时停止.

理想情况下,我想在单元测试中覆盖它应该是的,因此能够使用工作资源将是理想的.这样一个简单的expect(!element[0].paused).toEqual(true);意志足以让人知道它正在播放.

如何在单元测试中提供文件以用作音频源?

javascript angularjs karma-runner protractor karma-jasmine

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

使用nginx,sails和upstart进行跨域配置问题

我使用nginx和sails有跨域配置问题.问题是,如果我通过适当的方式连接套接字,http://domain-server.com/socket.io/ 则RESTful请求将失败.如果RESTful工作,套接字将不会.

建立

客户 http://domain.com

服务器 http://server-domain.com

客户端是使用"sails.io.js": "0.10.3"和配置的角度应用程序io.sails.url = 'http://domain-server.com';.

Server是一个具有RESTful请求和套接字功能的sails应用程序.

Sails CORS配置

module.exports.cors = {
    allRoutes: true,
    origin: 'http://domain.com',
    credentials: true,
    methods: 'GET, POST, PUT, DELETE, OPTIONS, HEAD',
    headers: 'content-type,Access-Control-Allow-Origin'
};
Run Code Online (Sandbox Code Playgroud)

Sails套接字配置

module.exports.socket {
    onConnect: function() {},
    onDisconnect: function() {},
    authorization: false,
    'backwardsCompatibilityFor0.9SocketClients': false,
    grant3rdPartyCookie: true,
    origins: 'http://domain.com'
};
Run Code Online (Sandbox Code Playgroud)

nginx配置

注释掉是我在nginx配置中摆弄的但没有取得多大成功(也尝试了客户端地址而不是*).

server {
    listen 80;

    server_name domain-server.com;
#add_header Access-Control-Allow-Origin *;
    location / {
#       add_header Access-Control-Allow-Origin *;

        proxy_pass http://localhost:1337;
        proxy_http_version 1.1;
        proxy_set_header Upgrade …
Run Code Online (Sandbox Code Playgroud)

nginx upstart angularjs sails.js sails.io.js

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

在javascript中将int转换为枚举

你如何在javascript中有效地将int转换为枚举?

说我有这个枚举

enuTable = // Table enum
{
    enuUnknown: 0,
    enuPerson: 1,
    enuItem: 2,
    enuSalary: 3,
    enuTax: 4,
    enuZip: 5,
    enuAddress: 6,
    enuLocation: 7,
    enuTasks: 8,

};
Run Code Online (Sandbox Code Playgroud)

在部分代码中,我从AJAX调用中获取一个返回值,该调用是与上述表之一相对应的数字.

我可以编写一个转换值的开关,但是有一种更有效(简洁)的方式将int转换为枚举吗?一个原因是,我不想经常更改开关,以防我更改枚举.我想我可以使用带有枚举名称的数组并构造一个标识符来索引枚举,但是,每次枚举更改时我都需要更改数组.我想我正在寻找的是一种透明的方法,它不需要事先知道枚举.

javascript

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

茉莉花测试中角度元素的调度事件不起作用

在我的测试用例中,我正在尝试这样的事情:

element = angular.element('<div></div>')
element.trigger('mouseenter');
Run Code Online (Sandbox Code Playgroud)

但是,有错误说“未定义不是函数”。我认为这是因为我没有使用 jquery。我也试过这个:

goog.events.dispatchEvent(element[0], 'mouseenter');
Run Code Online (Sandbox Code Playgroud)

但是,它说“断言失败:不能将 goog.events.dispatchEvent 与非 goog.events.Listenable 实例一起使用”

有什么解决办法吗?

google-closure jasmine angularjs-directive

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

text-decoration:none没有在ul上工作

我看过很多关于这个问题的问题,但没有人回答我的问题.我正在为一个网站制作一个侧边栏,我正在尝试在与侧边栏宽度相同的框中创建链接,只有一点填充,可能是10-15px,每个之间有一点点空间.也许3px.但我似乎无法得到文字装饰:没有; 无论我尝试过什么,都要工作.

这是迄今为止我获得的最成功的代码:

HTML

<div id= "sidebar">
    <h3>Navigation Links</h3>
    <div id= "sidelinks">
        <ul>
            <li><a href= "#">Home</a></li>
            <li><a href= "#">Biography</a></li>
        </ul>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

#sidebar {
    background: #464646;
    width: 250px;
    height: 1000px;
    margin-left: 50px;
    border-radius: 15px;
}
h3 {
    font-family: 'Coda', cursive;
    color: white;
    background: #6B6B6B;
    font-size: 24px;
    text-align: center;
    padding: 15px 0 8px 0;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
#sidelinks {
    font-family: 'Armata', sans-serif;
    font-size: 25px;
    text-decoration: none;
    color: white;
    background-color: #4D4D4D;
    padding: 10px;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)

html css text-decorations

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

在html中设置表格

我是CSS的新手.我有一个像这样的表

<table id="datatable">
    <tbody>
        <tr>
            <td><strong>2013</strong></td>
            <td>&nbsp;</td>
            <td><strong>144</strong></td>

        </tr>
        <tr>
            <td><strong>2012</strong></td>
            <td>&nbsp;</td>
            <td><strong>159</strong></td>

        </tr>

        <tr>
            <td><strong>2011</strong></td>
            <td>&nbsp;</td>
            <td><strong>147</strong></td>

        </tr>
        <tr>
            <td><strong>2010</strong></td>
            <td>&nbsp;</td>
            <td><strong>137</strong></td>
        </tr>
        <tr>
            <td><strong>2009</strong></td>
            <td>&nbsp;</td>
            <td><strong>303</strong></td>
        </tr>
Run Code Online (Sandbox Code Playgroud)

而且我需要设置这个表的样式,如下所示.我尝试了一些东西,但我不能那样的样式

在此输入图像描述

我刚试过

.datatable td {
    border-bottom: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)

根据下图,我需要第一个td边框为绿色,其他为黑色.任何人都可以帮忙吗?在此先感谢您的帮助.

html css

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

如何使用nodejs验证Symfony2 sha512密码

我需要能够验证在node其中产生并使用存储一些密码Symfony2sha512编码.

我可以检索hash并且salt正常但是在使用时crypto我无法使用与数据库中存储的盐匹配的salt来生成哈希.

Symfony security.yml

security:
    encoders:
        "FOS\UserBundle\Model\UserInterface": sha512
Run Code Online (Sandbox Code Playgroud)

哈希存储在DB中

6zxwRZc4EPXKxQes9avs0ZyCRFkC4dtpXrT983ML8VLvv9WhRnAi282bwuFuj3LHPQBGmqD1BfCLDUXGdHIjZQ==
Run Code Online (Sandbox Code Playgroud)

盐存储在DB中

qu7rjvaietws8kg4cgsggksookwsws8
Run Code Online (Sandbox Code Playgroud)

由于我正在使用的节点端有一个salt,crypto.pbkdf2Sync配置中没有设置迭代,看起来Symfony的默认值是1000.但是默认长度是40但是存储的散列长度是128,所以使用128作为长度(试了40但没有成功).

我也尝试过Symfony 2使用的5000次迭代MessageDigestPasswordEncoder,并将原始密码与salt合并,因为symfony raw_password{salt}没有成功.

如果我使用pbkdf2Sync生成长度的密钥40(根据symfony默认值)然后使用它来更新哈希生成,我也可以获得足够长的base64crypto.createHash

var hash = user.password;
var salt = user.salt;

console.log(hash);

console.log(crypto.pbkdf2Sync("password", salt, 1000, 128 >> 1, "sha512").toString("base64"));
Run Code Online (Sandbox Code Playgroud)

生成的哈希大小和格式与存储在数据库中的大小匹配,但它们与我的问题值不匹配.我还尝试了动态生成的多个迭代值,没有任何运气.

产量

6zxwRZc4EPXKxQes9avs0ZyCRFkC4dtpXrT983ML8VLvv9WhRnAi282bwuFuj3LHPQBGmqD1BfCLDUXGdHIjZQ==
5QPz3zXwhak/bTD2S9IFEEFmiJ8q/fqIlSF6cWin7dqmh92EFNXjw/FLtQw7NX3LVehwcXKjfypo2EhJxiLouQ==
w9+8xjklvGq9CuiqY8tEoxEetLV9lbhLJ/KaFQEooUFJrGT9/EdsVd/sSRJ+DXjsH4RQeaqsmftmuzLPgVv5MA==
Run Code Online (Sandbox Code Playgroud)

如何生成散列,使其与Symfony 2使用的方式相匹配?

hash pbkdf2 node.js symfony

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

如何通过title属性获取<a>

我需要从<a>动态构建的特定类中删除3个类.唯一不变的是标题.如何通过标题定位/查找元素?我一直在谷歌上搜索,但没有出现任何我想要的东西.如果使用CSS可以做到这一点很好但我希望javascript/jQuery的答案对我有用.

标签看起来像:

<a href="javascript:%20openLookup%28%27%2F_ui%2Fcommon%2Fdata%2FLookupPage%3Flkfm%3Dj_id0%253Aj_id2%253AtheForm%26lknm%3Dj_id0%253Aj_id2%253AtheForm%253Aj_id77%26lktp%3D%27%20%2B%20getElementByIdCS%28%27j_id0%3Aj_id2%3AtheForm%3Aj_id77_lktp%27%29.value%2C670%2C%271%27%2C%27%26lksrch%3D%27%20%2B%20escapeUTF%28getElementByIdCS%28%27j_id0%3Aj_id2%3AtheForm%3Aj_id77%27%29.value.substring%280%2C%2080%29%29%29" class="col-md-12 col-sm-12 col-xs-12 noPadding" id="j_id0:j_id2:theForm:j_id77_lkwgt" onclick="setLastMousePosition(event)" title="Client Lookup (New Window)">
    <img src="/s.gif" alt="Client Lookup (New Window)" class="lookupIcon" onblur="this.className = 'lookupIcon';" onfocus="this.className = 'lookupIconOn';" onmouseout="this.className = 'lookupIcon';this.className = 'lookupIcon';" onmouseover="this.className = 'lookupIconOn';this.className = 'lookupIconOn';" title="Client Lookup (New Window)">
</a>
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

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