小编phi*_*294的帖子

Windows 10中的AutoHotkey - 热键在某些应用程序中不起作用

像一个简单的脚本

a::msgbox hi!
Run Code Online (Sandbox Code Playgroud)

曾经在Windows 7下正常工作.现在我升级到Windows 10,当某些窗口处于活动状态时,它无法正常工作.特别是LButton-Hotkeys会搞乱一切,导致你真正需要任务管理器的情况.

这里是一个很小的应用程序列表,其中不再识别热键:(相反,从上面的脚本开始,a发送一个简单的)

  • 团队发言3
  • 一切
  • FRAPS

它起作用的地方:(例子)

  • 编辑
  • Skype的
  • 一般的Windows应用程序
  • 啊帮忙
  • 开发办公室
  • (大多数节目)

有人可以复制这个吗?

Win10中的AutoHotkey有什么问题?

怎么解决这个问题?

(AHKscript vers.1.1.22.3 Unicode 64位)

autohotkey windows-10

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

获取组件的静态html/css快照

简而言之:如何将生成的组件CSS作为字符串?

- >我想获得组件的快照.也就是说,这个视图看起来像什么.正如你点击右边看到的那样 - >检查.Html&css 独立于任何Javascript 呈现组件.

动机:使用该快照以便以后导出为PDF.我可以在服务器方面创建PDF,但是由于Angular有一个整洁的模板引擎,为什么不使用它呢?欢迎评论.

我设法从我的组件中获取快照html代码,banana如下所示:

// banana component file
@Component( { 
    selector: 'banana',
    template: `<div id="report">some text</div>`,
    styles: [ '#report { font-weight:bold; }' ]
})
export class BananaComponent {
    constructor(public elementRef: ElementRef) { }
}

// parent component file
@Component(...)
export class App {
    @ViewChild(BananaComponent) myBanana;
    private getSnapshot() {
         let bananaSnapshotHtml = this.myBanana.elementRef.nativeElement.outerHTML;
         let bananaSnapshotCss = // ?? TODO
    }
}
Run Code Online (Sandbox Code Playgroud)

snapshotHtml例如,变量如下所示:

<banana _ngcontent-c2="" _nghost-c4="" ng-reflect-render="true"><!--bindings={
  "ng-reflect-ng-if": "true"
}--><div _ngcontent-c4="" id="report">
    some …
Run Code Online (Sandbox Code Playgroud)

angular

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

数字输入错误地接受带小数位的浮点数

<form>
  <input type="number" step="1" required>
  <input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

在上面的代码段中,如果您插入

0.0000001
Run Code Online (Sandbox Code Playgroud)

输入数字后,您将无法提交表单:“ step”属性可以防止这种情况。

但是如果你插入

0.00000001
Run Code Online (Sandbox Code Playgroud)

它可以在Chrome / Chromium中使用!为什么在验证输入时似乎只读取前七个小数位?是否在任何地方对此进行了记录,并且我可以采取什么措施防止这种情况发生?

我测试了Firefox,它不接受任何此类值。它不能是浮点精度问题(例如0.1 + 0.2),仅与更多的十进制数字有关

0.30000000000000004 === 0.1+0.2
Run Code Online (Sandbox Code Playgroud)

html chromium

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

在 unhandledrejection 事件处理程序中获取堆栈跟踪

当我只使用处理程序捕获 Promise 拒绝时,如何确定发生在哪里onunhandledrejection

\n

\r\n
\r\n
console.error = ()=>{}\nwindow.addEventListener(\'unhandledrejection\', (promiseRejectionEvent) => {\n  console.log(\'unhandled: \', Error().stack)\n})\n\nfunction main() {\n  new Promise(() => { throw null })\n}\nmain()
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

如果运行此命令后检查浏览器的控制台,您将看到类似以下内容的内容:

\n

来源选项卡\n控制台输出

\n

唯一Error().stack的在其堆栈跟踪中包含拒绝处理程序函数本身(灰色输出js:14:30)。但浏览器似乎确实知道拒绝发生在哪里:还有另一个红色错误输出(Uncaught (in promise) null),指向目标行(js:18)。如何获取该线路信息?

\n

后一个输出似乎是由浏览器的内部完成的,因为它无法通过console.error像上面的示例中那样的覆盖来防止。正如MDNpromiseRejectionEvent.preventDefault()上所解释的,只能通过调用来防止这种情况。但我无论如何都不想阻止它,而是检索它,例如用于记录目的。

\n

现实世界用例:当然可以不依赖onunhandledrejection事件处理程序,例如通过添加.catch()短语或至少抛出throw new Error(null)。但就我而言,我无法控制它,因为它是第三方代码。今天它在客户端浏览器上意外抛出(可能是库错误),并且自动错误报告不包含堆栈跟踪。我试图缩小上述根本问题的范围。谢谢!

\n
\n

编辑回应评论:

\n
\n

将第三方代码包装在 try/catch 中?\xe2\x80\x93 世界

\n
\n

好点,但这没有帮助,因为拒绝实际上发生在回调内:

\n

\r\n
\r\n …

javascript stack-trace promise

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

处理多个流中的所有异常

我希望我的程序例外发送到以下每个,最好是同时发送:

  • 启动它的控制台(不一定)
  • 一个gui
  • 一个txt文件.

我怎样才能做到这一点?

我的尝试:

  • System.setErr(PrintStream err)将所有例外转发给新流.我不能说多个流.

  • 打电话System.setErr(PrintStream err)给人工书面OutputStream:

    "你可以编写自己的流类转发到多个流,并在该类的实例上调用System.setOut" - Jeffrey Bosboom

    我找到了一种方法来做到这一点.但这非常讨厌.它"收集" PrintStream's write-bytes,将它们放入一个吹气(500毫秒超时),最后显示给用户(Proceed):

    /* ErrorOutput.java */
    public static t_ErrBuffer t_activeErrBuffer = new t_ErrBuffer("");
    public static void setStdErrToFile(final File file) {
        ps = new PrintStream(fos) {
            @Override
            public void write(byte[] buf, int off, int len) {
                byte[] bn = new byte[len];
                for (int i = off, j = 0; i < (len + off); i++, j++) …
    Run Code Online (Sandbox Code Playgroud)

java stdout exception throw stderr

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

在 Java 中获取 MYSQL 数据库大小

我的 MYSQL-Table 有 3 个表。

我无法让给定的示例工作。

Java 中,使用java.sql.*,我想知道整个数据库还剩下多少空间,因为空间非常有限。

这是我的方法:

// this.conn = DriverManager.getConnection("jdbc:mysql://......");

public long remainingSpace() {
    String sql = "SELECT table_schema AS \"Database\", "
        + "ROUND(SUM(data_length + index_length) / 1024, 2) AS \"Size (KB)\" "
        + "FROM information_schema.TABLES GROUP BY table_schema;";
    ResultSet rs;
    PreparedStatement prpSttm = this.conn.prepareStatement(sql);
    rs = prpSttm.executeQuery();
    rs.next();
    long remainingSpace = rs.getInt("Size (KB)");
    return remainingSpace;
}
Run Code Online (Sandbox Code Playgroud)

这将返回9(KB)。

phpMyAdmin 反而告诉我我的64 KiB一张表中有数据: 根据 phpMyAdmin 的表大小

如何在 Java 中获得正确的大小?

java mysql database

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

我应该覆盖集合的hashCode()吗?

鉴于我有一些课程,其中包含各种领域:

class MyClass {
    private String s;
    private MySecondClass c;
    private Collection<someInterface> coll;
    // ...

    @Override public int hashCode() {
        // ????
    }
}
Run Code Online (Sandbox Code Playgroud)

而且,我确实有各种各样的物品,我想存放在一个HashMap.对于这一点,我需要的hashCode()MyClass.

  1. 我得去到各个领域和各个父类递归,以确保它们都实现hashCode()正常,否则hashCode()MyClass可能没有考虑到一些值.这是正确的吗?

  2. 我该怎么办Collection?我可以一直依赖它的hashCode()方法吗?它是否会考虑我的someInterface对象中可能存在的所有子值?


我在这里打开了关于唯一ID对象的实际问题的第二个问题:如何为对象生成(几乎)唯一的哈希ID?


澄清:

你班上有什么或多或少的不合理吗?字符串s?然后只将其用作哈希码.

如果coll更改其中一个对象中的任何值,则两个对象的MyClass hashCode()肯定会有所不同.如果两个对象的所有字段都存储相同的值,HashCode应该只返回相同的值.基本上,在MyClass对象上进行一些耗时的计算.如果计算已经使用完全相同的值在前一段时间完成,我想多余时间.为此,如果结果已经可用,我想查看HashMap.

你会在HashMap中使用MyClass作为键还是值?如果是键,则必须覆盖equals()和hashCode()

因此,我使用hashCode OF MyClass作为HashMap中的.值(计算结果)将是不同的,如整数(简化).

您认为平等对多个馆藏意味着什么?它应该依赖于元素排序吗?它应该只取决于存在的绝对元素吗?

这不会取决于存储的Collection类型coll吗?虽然我觉得订购并不重要,不

你从这个网站得到的回应是华丽的.谢谢你们

@AlexWien取决于该集合的项是否是该类的等价定义的一部分.

是的,是的,他们是.

java collections hashcode

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

Files.move REPLACE_EXISTING无法解析为变量

文件Files.move(Path source, Path target, CopyOption... options)说:

或者,假设我们要将文件移动到新目录,保留相同的文件名,并替换目录中该名称的任何现有文件:

 Path source = ...
 Path newdir = ...
 Files.move(source, newdir.resolve(source.getFileName()), REPLACE_EXISTING);
Run Code Online (Sandbox Code Playgroud)

为什么我在以下代码中出现错误呢?

 Files.move(Paths.get("outputFilePath"), Paths.get("inputFilePath"), REPLACE_EXISTING);
Run Code Online (Sandbox Code Playgroud)

REPLACE_EXISTING无法解析为变量

java replace file move

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

PHP getimagesize()无效

<?php
$URL="http://cor-forum.de/forum/images/smilies/zombie.png";
list($width, $height) = getimagesize($URL);

echo 'width: '.$width.'<br>
height: '.$height;
?>
Run Code Online (Sandbox Code Playgroud)

这导致以下输出:

width:
height:
Run Code Online (Sandbox Code Playgroud)

编辑,我得到以下警告:

警告:getimagesize(http://cor-forum.de/forum/images/smilies/zombie.png):无法打开流:HTTP请求失败!HTTP/1.1 403禁止在第6行的/home/webpages/lima-city/regnum-forum/html/DATEIEN/scheisstest.php中

- 如果我使用另一张图片,它会显示正确的值

$URL='http://getfavicon.appspot.com/http://google.com?defaulticon=1pxgif';
Run Code Online (Sandbox Code Playgroud)

编辑:我想在论坛中启用外部图像,但我想先检查它们的大小.那么,我该怎么做才能获得图像的大小,其服务器是"阻止我"?

编辑:allow_url_fopen设置为ON,是的.

php getimagesize

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

JSON.parse("") 因脚本错误而失败,但不在 try/catch 中

在 Chrome 上(虽然不是在 Firefox 上),

因“脚本错误”而失败。您可以通过运行上面的脚本或运行https://jsfiddle.net/xupf27nh/1/来重现它。为什么会出现脚本错误?这里没有cors活动...?

try {
    JSON.parse("")
} catch(e) {
    throw e;
}
Run Code Online (Sandbox Code Playgroud)

正确打印错误信息"message": "Uncaught SyntaxError: Unexpected end of JSON input",。为什么这次不一样?为什么不

失败script error 但正确显示错误消息?

javascript google-chrome exception

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