小编Pau*_*der的帖子

获取<video>的原始尺寸

我正在尝试提供视频和图片的列表,将每个图片和图片的大小调整为相同的大小以便于观看。

当用户单击其中一个时,应将其调整为原始大小(或最大为边界框的大小)

我的问题是:如何获得视频的原始尺寸?

对于图像,

var img = new Image();
img.src= $(event.target).attr("src");
img.width   //this is the width
img.height  //this is the height
Run Code Online (Sandbox Code Playgroud)

奇迹般有效。

但是我找不到一种方法来做同样的事情<video>。有没有?

我了解加载元数据有一些问题,但是视频已经加载完毕,我只想将其调整为原始大小(好吧,我不会在调整大小时延迟加载它们的问题,但是我想这很费力)

是否有可能做到这一点?如果是这样,怎么办?首选jQuery。

解:

var video = $(event.target);
var width = video[0].videoWidth;
Run Code Online (Sandbox Code Playgroud)

size video jquery html5 resize

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

Jade/Mongo 输出中的换行符

我已经阅读了有关此问题的 stackoverflow 上的所有问题,但没有一个能满足我的需求。

我有一个简单的留言板,用户可以在其中通过 textarea 发表评论。这些存储在 Mongo 中并通过 jade 显示

但是所有的换行符都丢失了。

它们存储\r\n在数据库中,但在呈现时不显示。

<br />s替换它们也无济于事,因为它们只是呈现为字符串。

用 包裹评论<pre>确实有帮助...但它会阻止文本在嵌入的图片周围浮动。

用 pre 换行

有没有简单的方法可以只在存储时输出文本?

这是用<span><div>不是<pre>:这是我希望它浮动的方式,但不呈现换行符

span/div 没有换行符

玉模板:

  if (user)
    p You are logged in as #{user.username} &nbsp;
      a(href='/logout') [Log Out]
  else
    a(href='/login') Log In

 .threadWrapper
   each post, i in posts
    .thread.col-md-12
      a(href="/thread/#{post._id}")
        span#postTitle #{post.postTitle}
      | &nbsp;
      span#commentCount (#{post.comments.length})
      | &nbsp;created at&nbsp;
      span#createdAt #{post.createdAt}
      | &nbsp;by&nbsp;
      span#op #{post.op}
      if (user)
        button.close.deleteThreadButton(type='submit', aria-label='Close')
          span(aria-hidden='true') ×
      //button.deleteThreadButton(type="submit") X
      .ThreadContent …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js pug

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

动态属性名称串联

我正在寻找一种简单的方法来根据另一个变量的值分配给变量。

device.slot2_clipList[clipNumber] = singleClipDetails;
Run Code Online (Sandbox Code Playgroud)

我想做的是:用另一个变量替换“ 2”,这样我就可以在更改var slotNumber的同时运行相同的操作,并写入相应的变量。

我试过了

device.slot + device.slotNumber + _clipList[clipNumber]
Run Code Online (Sandbox Code Playgroud)

但是(显然吗?),这不起作用。

如何才能做到这一点?(也许我给问题的名字打错了,但这是我能想到的最接近的问题。)谢谢

javascript variables concatenation

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

节点网络套接字连接超时

我注意到,我的节点服务器的net.createConnection()在某些情况下触发错误之前有一个很长的超时(似乎是端口的一个特殊问题...)

我试图连接到somedomain:9000(监听,连接和按预期工作)和somedomain:1234(相同的域,不同的端口,等待大约2分钟,直到"连接ETIMEDOUT")

当我连接到不存在的域时,我立即收到错误,但如果我连接到可访问主机上的无法访问的端口,则不会.我需要确定机器是否可以在<1秒内到达..

我该怎么处理?必须以某种方式在2分钟内注意到无法访问的端口?至少某种超时只是在设定的时间后将地址设置为无法访问?

谢谢

更新:当前连接代码:

this.openConnection = function() {
    try {
        console.log("[INFO] connecting to " + device.ip + ":" + device.port);
        device.clientSocket = new net.createConnection(this.port,this.ip)
            .on('connect', device.connected)
            .on('data', device.inputReceived)
            .on('error', function(err) {

                if (err.code == "ENOTFOUND") {
                    console.log("[ERROR] No device found at this address!");
                    device.clientSocket.destroy();
                    return;
                }

                if (err.code == "ECONNREFUSED") {
                    console.log("[ERROR] Connection refused! Please check the IP.");
                    device.clientSocket.destroy();
                    return;
                }


                console.log("[CONNECTION] Unexpected error! " + err.message + "     RESTARTING SERVER");


                process.exit(1);

            })
            .on('disconnect', function() {
                console.log("[CONNECTION] disconnected!"); …
Run Code Online (Sandbox Code Playgroud)

sockets timeout node.js

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

如何将配置文件加载到角度对象

我在nodeJS服务器上设置了一个简单的配置页面.

4个输入字段用于存储一些IP.

那些领域是必然的

var formApp = angular.module('formApp', [])
.controller('formController', function($scope) {
    $scope.formData = {};
    loadConfig();                          
    $scope.$watchCollection('formData',function() {
        saveConfig($scope);
    });
});
Run Code Online (Sandbox Code Playgroud)

模型中的每个更改都会调用saveConfig(),它会将配置保存在服务器上:

function saveConfig($scope) {
    socket.emit('save_config', {config: $scope.formData});
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效.服务器正确打印接收对象的内容,并且保存过程中没有错误.

现在我想在每次打开页面时将配置加载到角度模型中.

loadConfig()告诉服务器加载config.json,解析它,并将其发送到浏览器:

socket.on('load_config', function(data) {
    console.log("[INFO] Config received:");
    angular.element(document.getElementById('config')).scope().formData = data;
});
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用..在页面刷新时,所有字段都是空的.

另外,$ scope.formData = {}; 清空对象,因此配置立即被覆盖.我怎么能阻止这个?(我不知道这是否真的是整个问题)我的方法有什么特别的错误吗?

谢谢

更新:

似乎没有完全错误......在刷新时,输入是空的,但是如果我开始输入和console.log的formData对象,它似乎以一种奇怪的,嵌套的方式加载了值

{"config":{"config":{"config":{"config":{},"ip2":"tzfrzftztrf","ip3":"ztu6tzzt6"},"ip2":"hhhkkizbi"},"ip2":"hhkkkkööö"},"ip3":"h"}
Run Code Online (Sandbox Code Playgroud)

这是4次更新.所以它似乎以某种方式工作,但没有正确加载它

javascript fs node.js socket.io angularjs

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