小编fre*_*und的帖子

requestAnimationFrame以有限的帧速率

据我所知,JS requestAnimationFrameAPI的使用是针对帧率不需要控制的情况,但我有一个用例,<canvas>只有在某个fps间隔内的更新才可能在1之间的任何地方.和25(每秒 1到25 之间).那么我可以以某种方式仍然有效地使用rAF来实现它提供的优化吗?

这个问题与我的问题有相似之处,但在那个问题的背景下,我接受的答案对我来说几乎没有任何意义.

我有两个可能的解决方案.第一个涉及使用while循环在requestAnimationFrame从回调内调用之前停止脚本执行指定的延迟.在我看到这个的例子中,它有效地限制了动画的fps,但它似乎也减慢了整个标签的速度.这仍然是一个很好的解决方案吗?第二个替代方案,如我在上面提到的问题中所提到的,requestAnimationFrame在一个内部调用setInterval.对我来说似乎有点费解,但它可能是最好的选择吗?

或者有更好的替代方法来实现这一目标吗?

javascript

14
推荐指数
3
解决办法
9879
查看次数

无法并行运行Selenium PhantomJS实例

我正在使用Selenium的node.js API来针对一系列网页运行PhantomJS实例.我用来执行页面上的操作的代码运行正常,但似乎只有一个Selenium/PhantomJS实例可以一次运行.从同一模块多次调用此函数,并逐步遍历网店中的页面,其中页面处理客户端(这就是我需要Selenium/PhantomJS环境 - 从每个页面提取数据的原因).

再一次,代码本身工作正常,但不能并行执行.可能是什么导致了这个?

module.exports = function (crawler, page, parsePage, done) {
    "use strict";

    var _ = require("lodash"),
        format = require("util").format,
        path = require("path"),
        webdriver = require("selenium-webdriver"),
        By = webdriver.By,
        until = webdriver.until;

    var phantomPath = path.resolve(__dirname, "../node_modules/.bin/phantomjs"),
        isWin = process.platform === "win32";

    var driver = new webdriver.Builder()
        .withCapabilities({
            "phantomjs.binary.path": isWin ? phantomPath + ".cmd" : phantomPath
        })
        .forBrowser("phantomjs")
        .build();

    var windowHandle = new webdriver.WebDriver.Window(driver);
    windowHandle.setSize(1100, 1000);

    var getAllPagesContent = function (driver) {
        var pagesContent = [],
            pageNo = …
Run Code Online (Sandbox Code Playgroud)

javascript selenium node.js phantomjs selenium-webdriver

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

无法使用Sequelize连接到MySQL

我一直SequelizeConnectionRefusedError试图连接到我的服务器上的MySQL数据库.

登录凭据是正确的,端口是打开的,一切看起来都很好(并且在开发环境中就像一个魅力).

对于稀缺的背景信息感到抱歉,但我在这里傻眼了 - 我真的不知道是什么原因导致了这个问题.

这是我的输出 mysql --version

mysql  Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3
Run Code Online (Sandbox Code Playgroud)

这是我用来初始化Sequelize的代码.我想要它使用的表还不存在,但我很确定这个问题没有任何关系.我已尝试使用root用户登录,但没有骰子 - 我仍然得到相同的错误.

var sequelize = new Sequelize("database", username, password, {
    host: "localhost",
    dialect: "mysql",
    port: 3306,
    define: {
        paranoid: true
    }
});

var Model = sequelize.define("Model", {
    md5: {type: Sequelize.STRING(128)},
    ip: {type: Sequelize.STRING(256)},
    url: {type: Sequelize.STRING(1024)}
});

sequelize.sync();
Run Code Online (Sandbox Code Playgroud)

这是在Ubuntu 14.04上运行的,其中节点在Passenger后面运行(尽管如果我直接运行带有节点的应用程序也会出现错误).我在同一台服务器上运行nginx和PHP,其中另一个PHP应用程序连接到数据库,如果有任何相关性的话.

什么可能导致这个问题?

javascript mysql node.js sequelize.js

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

在没有jQuery的情况下提交表单时不要重新加载页面

我一直在努力提高我的javascript能力,因此我试图用AJAX sans jQuery提交一个表单.由于某种原因,我似乎不可能使用addEventListener(); 使用javascript停止表单提交.

window.addEventListener('load', function(){
    document.forms[0].addEventListener('submit', function(){
        send();
        return false;
    }, false);
}, false);
Run Code Online (Sandbox Code Playgroud)

这段代码 - 独立于我尝试交换返回false的顺序的任何方式; 和函数调用 - 不会停止提交表单,也不会返回send(); (自然地返回false)或returnValue = false; .

我可以阻止页面重新加载,并在使用return false时提交默认方式; 在内联事件监听器中,但我应该使用它吗?有什么想法吗?

javascript javascript-events

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