小编Joh*_*isz的帖子

Float32Array上的.push()

我不能在Float32Array上使用.push(),我收到错误,所以我试着像这样添加它:

myarray = new Float32Array() ;
myarray.push = function()
{
    for( var i in arguments )
    {
        this[this.length] = arguments[i] ;
    }
} ;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我没有得到错误,但我的数组的值都是0.为什么?

javascript

7
推荐指数
2
解决办法
7504
查看次数

全圆形按钮,动态尺寸

我想在CSS中创建圆形按钮.我border-radius: 100%用来使按钮看起来像一个圆圈,但它只有在我明确设置元素的宽度和高度时才有效.但如果我这样做,按钮将无法调整以修复较大的文本

这是我到目前为止所尝试的:

.round-button{
  width: 60px;
  height: 60px;
  text-decoration: none;
  display: inline-block;
  outline: none;
  cursor: pointer;
  border-style: none;
  color: white;
  background-color: #3498db;
  border-radius: 100%;
  overflow: none;
  text-align: center;
}

.round-button:active{
  background-color: #2980b9;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <button class="round-button">Button</button>
</div>
<div>
  <button class="round-button">This text will overflow the button!</button>  
</div>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,第一个按钮看起来很不错,但第二个按钮中的文本溢出了它.我习惯于overflow: hidden防止它看起来很丑,但我希望按钮大小可以根据内容的大小进行调整.那可能吗?

html css

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

是否可以从内存中的 html 字符串加载电子 webContents?

假设我有两个进程:

进程 1 正在向进程 2 发送一个有效的 html 字符串:

ipcRenderer.send('open-window-from-string', 
'<!DOCTYPE html>' + '<html>' + htmlElement.innerHTML + '</html>');
Run Code Online (Sandbox Code Playgroud)

进程 2(电子主进程)试图从该字符串打开一个新窗口:

ipc.on('open-window-from-string', (event, htmlString) => {
  const windowFromString= BrowserWindow.fromWebContents(htmlString);
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以将 html 保存为实际的 html 文件。这样,在使用时一切正常:

loadURL(`file://${__dirname}/windowFromString.html`);
Run Code Online (Sandbox Code Playgroud)

但是,这会导致不必要的读/写操作。

这就是为什么我试图从我的记忆中的 htmlString 加载一个新窗口。那么问题又来了: 是否可以从内存中的 html 字符串加载电子 webContents?

在此先感谢您的帮助。

问候, Megajin

javascript node.js electron

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

如何在VSCode中观看多个TypeScript项目?

我有10个TypeScript项目文件夹彼此相邻,每个文件夹tsconfig.json在其根目录中包含一个.由于各种原因,项目需要单独编译.要在源更改时自动构建给定项目,我将从Windows批处理文件中为每个项目运行以下项目:

tsc -w
Run Code Online (Sandbox Code Playgroud)

从批处理文件中,这可以通过使用来完成start,以便不同的tsc命令可以并行运行:

start tsc -w -p ./Project1
start tsc -w -p ./Project2
...
Run Code Online (Sandbox Code Playgroud)

现在的问题是,根据其他选项,这可能是:

  1. 创建10个命令行窗口,以便稍后关闭手表
  2. 无形地运行,在这种情况下,手表只能从任务管理器中被杀死

......这两者都不可取.那么,在Visual Studio Code中观看多个TypeScript项目的"正确"方法是什么?


编辑

我错了这部分:

无形地运行,在这种情况下,手表只能从任务管理器中被杀死

如果任务开始使用

start /B tsc -w -p ./Project1
Run Code Online (Sandbox Code Playgroud)

...然后关闭启动它的命令提示符也将关闭"不可见"任务,至少在Windows 10上.我从任务管理器验证了这一点.

typescript visual-studio-code

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

ngAnimate停止在AngularJS 1.6.4中工作

我有一个简单的应用程序,其中有一个简单的css动画,就像AngularJS 1.2.2+中的魅力一样ngAnimate 1.2.2:

- > Runnable demo就像魅力一样.

因为(也许)没有理由相同的代码不适用于AngularJS 1.6.4+ ngAnimate 1.6.4:

- > 破碎的动画演示

css没有添加动画类.控制台中没有错误.我不知道这里有什么不对.请注意,这$scope.pictures是虚拟数据.

视图

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-animate.min.js"></script>
        <link rel="stylesheet" href="./style.css">
        <script src="app.js"></script> 
        <title></title>
    </head>
    <body ng-app="portfolio">
        <div class="gallery" ng-controller="galleryController">
          <div class="appear" ng-repeat="picture in pictures"></div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

AngularJS应用程序

/*global angular, console*/
var app = angular.module('portfolio', ['ngAnimate']);
(function() {
  "use strict";
  /* Gallery Controller */
  app.controller('galleryController', function(
      $scope
    ) {
      $scope.pictures …
Run Code Online (Sandbox Code Playgroud)

javascript css angularjs ng-animate

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

信息堆大小

我可以从performance.memoryChrome中的对象获取哪些信息?
这些数字是什么意思?(他们是kb还是字符)
我可以从这些数字中学到什么?

示例值 performance.memory

MemoryInfo {
  jsHeapSizeLimit: 793000000,
  usedJSHeapSize: 10000000,
  totalJSHeapSize: 31200000
}
Run Code Online (Sandbox Code Playgroud)

javascript heap-size

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

JS单元测试未出现在VS 2015测试资源管理器中

我是JavaScript单元测试的新手.我正在尝试测试typescript类,我的测试也是用typescript编写的,有点如下所示:

/// <reference path="../../typings/qunit/qunit.d.ts" />
import Utility1 = require("../utility");//This is script I want to test.    

test("utility_test",function() {

    ...

    var result = ...;
    var expected = ...;
    equal(result, expected, "Test failed");
})
Run Code Online (Sandbox Code Playgroud)

我使用VS 2015放肆测试适配器如图所示安装在这里.为了清楚起见,我已将此安装到vs 2015的扩展:Chutzpah Test Runner上下文菜单扩展,以及用于测试资源管理器的Chutzpah测试适配器,还添加了Chutzpah NuGet包.

然而,当我构建我的项目时,测试不会出现在测试资源管理器中.当我尝试从上下文菜单运行测试时,它会因此错误而失败:Error: Error: Called start() outside of a test context while already started.

谁能告诉我哪里出错了?


编辑 对于寻找require.js解决方案的人来说,对我有用.现在我Chutzpah.json看起来如下:

{
    "Framework": "qunit",
    "CodeCoverageExcludes": [ "*/require.config.js" ],
    "TestHarnessReferenceMode": "AMD",
    "TestHarnessLocationMode": "SettingsFileAdjacent",
    "TypeScriptModuleKind": "AMD", …
Run Code Online (Sandbox Code Playgroud)

unit-testing qunit chutzpah typescript visual-studio-2015

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

CMake识别MSVC(包括C和CXX),但仍然会抛出'No CMAKE _*_ COMPILER found'

我一直在寻找,这个问题似乎以各种形式出现了很多.它通常是由缺少编译器引起的,可以说是C和CXX编译器unknown.

然而,在我的情况下,这不是正在发生的事情.我的机器上有C和C++编译器,例如通过Visual Studio,所有编译都很好.cmake然而,通过这种情况:

> cmake .
Run Code Online (Sandbox Code Playgroud)

输出:

-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1

CMake Error at CMakeLists.txt:12 (project):
  No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:12 (project):
  No CMAKE_CXX_COMPILER could be found.

-- Configuring incomplete, errors occurred!
Run Code Online (Sandbox Code Playgroud)

我有点困惑.它怎么能找到编译器,但后来忘了它?也有在输出日志中没有错误(或者,如果有,我不认识他们).

这些是最后一行CMakeOutput.log:

Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CompilerIdCXX.exe"
Compilation of the CXX compiler …
Run Code Online (Sandbox Code Playgroud)

c++ cmake

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

为什么可以通过引用从外部类访问私有变量?

如果我有一个返回对不可见(私有或受保护)属性的引用的公共类方法,我可以使用该引用来获得直接访问:

PHP代码

class A
{
    private $property = 'orange';

    public function &ExposeProperty()
    {
        return $this->property;
    }

    public function Output()
    {
        echo $this->property;
    }
}

$obj = new A();

# prints 'orange'
$obj->Output();

$var = &$obj->ExposeProperty();
$var = 'apple';

# prints 'apple'
$obj->Output();
Run Code Online (Sandbox Code Playgroud)

PHP 中的此功能背后是否有原因?还是只是设计上的疏忽,未能通过引用跟踪访问冲突?

当您想要实现以下目标时,它显然会派上用场:

PHP代码

$this->load->resource();
Run Code Online (Sandbox Code Playgroud)

哪里load是修改给定属性的对象$this。但是除了这个快捷方式,我没有看到很多可能的用途,否则有效的 OOP 模式是不可能的。

php oop

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

将类作为参数并返回该类的实例的函数的类型

我有一个实例化器函数,它返回所提供类的一个实例:

declare type ClassType = { new (): any }; // alias "ParameterlessConstructor"

function getInstance(constructor: ClassType): any {
    return new constructor();
}
Run Code Online (Sandbox Code Playgroud)

我怎么可能让这个函数返回一个实例中的 constructor 参数,而不是any,让我可以实现类型安全,为消费者这个功能呢?

typescript

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