小编Kev*_*Kev的帖子

如何在JavaScript中将像素转换为打印英寸?

我想调整SPAN元素样式的字体大小,直到SPAN的文本在纸上打印时为7.5英寸宽,但JavaScript只报告SPAN的clientWidth属性(以像素为单位).

<span id="test">123456</span>
Run Code Online (Sandbox Code Playgroud)

然后:

#test {
  font-size:1.2in; /* adjust this for yourself until printout measures 7.5in wide */
}
Run Code Online (Sandbox Code Playgroud)

然后:

console.log(document.getElementById('test').clientWidth);
Run Code Online (Sandbox Code Playgroud)

我已经在一台机器上通过实验确定它使用大约90 DPI作为转换因子,因为上面的代码记录大约675,至少在Firefox 3下.

在不同的浏览器,打印机,屏幕等配置下,此数字不一定相同.

那么,我如何找到浏览器使用的DPI?我可以打电话给我的系统取回"90"?

javascript css printing

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

如果我要在Perl中使用纯OO,我是否需要Exporter?

文档(Exporter和perlmodlib)说:

作为一般规则,如果模块试图面向对象,则不输出任何内容.

但是perlmodlib也说:

标准的捆绑模块在命名空间污染方面都应该以明确定义的方式运行,因为它们使用Exporter模块.

所以我想知道,如果你去OO并且没有出口,你真的需要出口商吗?如果你不这样做,这是否意味着在这个意义上没有一个标准模块是严格的OO,或者它是否意味着它们是EXPORT_OK某些东西,因为如果有人想继承你的模块你需要这样做?(这是真的吗?)或者您是否需要出口商才能够use MyModule; ... = new MyModule

oop perl module perl-module exporter

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

在存储过程中创建SQL变量表

我想在存储过程中创建包含这个的SQL变量表;

Select a,b,c,d from **@tablename** where a=1 and c=0
Run Code Online (Sandbox Code Playgroud)

创建sp时如何用sp做到这一点?

sql stored-procedures sqlparameter

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

使用Type.getClassFields()的结果

如何使用返回的静态字段名称getClassFields()

Type本身似乎没有任何与此相关的函数,如果你Reflect在上面返回的字段名称上使用这样的:

trace(Reflect.field(Type.createEmptyInstance(Type.resolveClass(...)), fieldName));
Run Code Online (Sandbox Code Playgroud)

...你得到:

TypeError:错误#1010:术语未定义且没有属性.

我的目标是使用动态给出的类名获取静态字段的,例如,我如何"hi"离开:

class Blah {
    public static var test:String="hi";
}
Run Code Online (Sandbox Code Playgroud)

......当我不提前知道Blah的时候?

运行Haxe 3.2.1.

haxe

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

如何通过键获取Javascript对象的所有值?

我有一个带有一些键和值的Javascript对象:

var obj = { 
    "key1" : "val1", 
    "key2" : "val2", 
    "key3" : "val3", 
    "key4" : ""
}
Run Code Online (Sandbox Code Playgroud)

我想迭代所有键并检索所有值.

我试过两种方法:

1)使用for(键中的var键)

var keys = Object.keys(obj);
for (var key in keys) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案的问题是key对象是一个数组,所以我必须使用obj [keys [key]]].不是很漂亮

此外,检查"key4"时,返回值为"0"而不是""(空).

2)使用forEach

Object.keys(obj).forEach(function(key){
    // ...
});
Run Code Online (Sandbox Code Playgroud)

这种情况下的问题是,如果我尝试这样做:

Object.keys(obj).forEach(function(key){
    obj[key];  // <- obj is undefined !!
});
Run Code Online (Sandbox Code Playgroud)

"obj"变量在foreach中未定义!

迭代所有键以检索所有值的最佳方法是什么?

谢谢

javascript arrays json object

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

urlencode只有内置函数

不使用plpgsql,我试图在pgsql SELECT语句中对给定文本进行urlencode.

这种方法的问题:

select regexp_replace('héllo there','([^A-Za-z0-9])','%' || encode(E'\\1','hex'),'g')
Run Code Online (Sandbox Code Playgroud)

...是编码函数没有传递regexp参数,除非有另一种方法从实际工作的替换表达式中调用函数.所以我想知道是否有一个替换表达式,它本身可以将匹配编码为十六进制值.

可能存在其他功能组合.我以为会有一个聪明的正则表达式(那可能仍然是答案),但我找不到它.

sql postgresql urlencode

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

奇怪的Apache2.2 SVN错误,"预期的存储库格式'3'或'5';找到格式'9'"

我使用TortoiseSVN只能从运行Subversion win32服务的同一台计算机上访问一个repo,它现在已经工作了一段时间.我决定尝试设置mod_dav_svn以便能够从其他地方获取它.当我尝试访问它时,我在浏览器中收到此错误:

<D:error>
<C:error/>
<m:human-readable errcode="165005">
Could not open the requested SVN filesystem
</m:human-readable>
</D:error>
Run Code Online (Sandbox Code Playgroud)

......以及日志中的这些错误:

 (20014)Internal error: Expected repository format '3' or '5'; found format '9'
 Could not fetch resource information.  [500, #0]
 Could not open the requested SVN filesystem  [500, #165005]
 Could not open the requested SVN filesystem  [500, #165005]
Run Code Online (Sandbox Code Playgroud)

这是我的.conf中的内容:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
Run Code Online (Sandbox Code Playgroud)

DAV svn
SVNPath e:/dev/.svn
Run Code Online (Sandbox Code Playgroud)

我把/.svn放在我之前,我在客户端上得到了相同的错误文本(但代码为720002)并且日志显示Apache正在寻找e:/ dev/format,但这不存在,但是e:/dev/.svn/format.

我读了这个,并注意到我的颠覆是1.5.1和1.5.5已经出来了,我最近升级了TortoiseSVN,我想也许有一些不兼容性(这可能没有意义,我不知道它是怎么回事因为我下载了1.5.5,停止了服务,复制了DLL和EXE,重新启动了服务,将新的.so文件复制到了Apache的modules目录,然后重新启动了httpd.没运气.

有什么建议?这种特殊的"格式9"似乎很少见......

svn tortoisesvn apache2 mod-dav-svn

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

这个使用NOT IN的简单查询出了什么问题?

架构:

radio_bin.id
radio.id
radio.radio_bin -> radio_bin.id
Run Code Online (Sandbox Code Playgroud)

查询:

select *
    from radio_bin
Run Code Online (Sandbox Code Playgroud)

72行.

select *
    from radio_bin
    where id in (select radio_bin from radio)
Run Code Online (Sandbox Code Playgroud)

50行.

(和FWIW :)

select distinct radio_bin
    from radio
Run Code Online (Sandbox Code Playgroud)

51行,包括null.

这一切都很好.现在:

select *
    from radio_bin
    where id not in (select radio_bin from radio)
Run Code Online (Sandbox Code Playgroud)

0行.

为什么?我不应该得到没有收音机指向他们的22个radio_bin.id号码吗?

sql postgresql

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

秘银简单的例子要求ReactJS

只是尝试使用没有webpack和npm的JSX做简单的例子.

<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.18.1/babel.min.js"></script>
    <script src="http://unpkg.com/mithril/mithril.js"></script>
  </head>
  <body>
      <script type="text/babel">
      var MyComponent = {
        view: function() {
          return (
            <main>
              <h1>Hello world</h1>
            </main>
          )
        }
      }

      m.render(document.body, <MyComponent />)
      </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

但得到React错误:

Uncaught ReferenceError: React is not defined
Run Code Online (Sandbox Code Playgroud)

我很困惑,为什么React与此有任何关系.

mithril.js

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

为什么“ for ... in”循环(for(B中的var / let / const A))使A在香草ES6中成为字符串?

这是在Chromium 78中:

for (var i in [1,3,5]) console.log(i+1)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

现在,我希望for (var i in [1,3,5]) console.log(i+1)输出1、2、3,因为它i应该是一个索引值。我知道MDN文档提到在这种情况下顺序可能奇怪,但是为什么要进行类型转换?

javascript

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