小编Kal*_*ico的帖子

在javascript中使用跨源的http post请求

我在firefox中遇到http post调用问题.我知道当有一个交叉起源时,firefox首先在POST之前执行OPTIONS以了解access-control-allow标头.使用此代码我没有任何问题:

Net.requestSpeech.prototype.post = function(url, data) {
    if(this.xhr != null) {
        this.xhr.open("POST", url);
        this.xhr.onreadystatechange = Net.requestSpeech.eventFunction;
        this.xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        this.xhr.send(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

我用一个调用这个函数的简单html来测试这段代码.一切都很好,我有OPTIONS和POST的响应,我处理响应.但是,我正在尝试将此代码与使用jquery的existen应用程序集成(我不知道这是否有问题),当在这种情况下执行send(data)时,浏览器(firefox)也这样做,首先要做一个OPTION请求,但在这种情况下,不要收到服务器的响应并将此消息放入控制台:

[18:48:13.529] OPTIONS http://localhost:8111/ [undefined 31ms]
Run Code Online (Sandbox Code Playgroud)

未定义...未定义是因为没有收到响应,但代码是相同的,我不知道为什么在这种情况下选项没有收到响应,有人有想法?

我调试我的服务器应用程序和OPTIONS到服务器,但似乎浏览器不等待响应.

稍后编辑:好吧我认为问题是当我使用带有SCRIPT标签的简单html运行时调用执行请求的方法运行正常,但是在这个没有收到响应的应用程序中,我有一个表单可以执行onsubmit事件,我认为提交事件返回非常快,浏览器没有时间来获取OPTIONS请求.

稍后再编辑:WTF,我解决问题使POST请求同步:

this.xhr.open("POST", url, false);
Run Code Online (Sandbox Code Playgroud)

提交响应非常快,不能等到浏览器的OPTION响应,有什么想法吗?

javascript ajax post xmlhttprequest options

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

像HTML5中的Multiple Cursors一样崇高

您是否知道如何将Sublime或Cloud 9像Multiple Cursors功能一样用于浏览器?是否有任何jQuery插件可以做到或有任何想法?我想在textera中使用多个游标,也许在多个文本区域中.应该可以使用HTML5,但在网络上找不到任何东西!

谢谢!

javascript browser html5 cursor

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

跳转到锚点溢出隐藏

<ul id="the-list" style="overflow:hidden;height:100px;>
    <li><a id="link1" href="#">Link 1</a></li>
    <li><a id="link2" href="#">Link 2</a></li>
    <li><a id="link3" href="#">Link 3</a></li>
    <li><a id="link4" href="#">Link 4</a></li>
    <li><a id="link5" href="#">Link 5</a></li>
    <li><a id="link6" href="#">Link 6</a></li>
    <li><a id="link7" href="#">Link 7</a></li>
    <li><a id="link8" href="#">Link 8</a></li>
    <li><a id="link8" href="#">Link 9</a></li>
<ul>
<a href="">more</a> <a href="">less</a>
Run Code Online (Sandbox Code Playgroud)

上面的div显示了前三个链接.选择更多时,我想显示4-6.它不需要进行任何平滑滚动.在stackoverflow上找到了几个类似的例子,但它们没有像这样涉及ul之外的链接.想知道最简单的选择是什么.另外作为奖励会喜欢更少的按钮,可以撤消更多.如果它提前显示接下来的三次点击就会回到3?

必要时可以使用jquery.想要保持它只是积极的.谢谢你的任何想法,我会继续研究.

html jquery

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

从 ol.extent.boundingExtent 创建特征?

在 openlayers 3 应用程序中,我能够检索边界范围并适合视图。不过,我现在想通过使用边界范围来创建要素/多边形。

    let boundingExtent = ol.extent.boundingExtent([[left, bottom], [right, top]]);

    //??/let polygon = ol.geom.Polygon.fromExtent(boundingExtent);

    var view = this.map.getView();
    view.fit(boundingExtent, null);

    //let source = this.vectorSource.getSource();
    //source.clear(); 
    //feature.setStyle(this.VectorAltStyles);
    //source.addFeatures(feature);
Run Code Online (Sandbox Code Playgroud)

使用 ol.geom.Polygon.fromExtent 并将结果添加到矢量源似乎不起作用。请问有人可以阐明如何实现这一目标吗?

javascript openlayers extent angular

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

在路由中使用loadchildren时,Angular 5子路由在根级路由器插座处加载

我有一个带有路由器插座的根应用程序组件,并且路由从家庭模块路由加载,这些路由在子路由中使用与loadchildren的延迟加载.在家庭组件中有一个路由器插座,并且在家庭的所有子模块中都有延迟加载的路由器插座.路由工作正常,但子路由也在根路由器插座中加载.例如: - 组件'testCreateComponent'正在加载localhost:4200/test/create以及localhost:4200/create.

示例代码级别如下: -

app.component.html

<div>app</div>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)

APP-routing.module.ts

export const APP_ROUTES: Routes = [
    {path: '**', redirectTo: '', pathMatch: 'full'}
];
Run Code Online (Sandbox Code Playgroud)

home.component.html

<div>home</div>
<router-outlet><router-outlet>
Run Code Online (Sandbox Code Playgroud)

家庭routing.module.ts

const routes: Routes = [{
  path: '',
  component: HomeComponent,
  canActivate: [LoggedUserGuard],
  canActivateChild: [AuthGuard],
  children: [
    {path: '', redirectTo: 'dashboard', pathMatch: 'full'},
    {
      path: 'test',
      loadChildren: () => testModule
    },
    {
      path: 'dashboard',
      component: DashboardComponent,
      data: {
        breadcrumb: 'Dashboard'
      }
    },
    {
      path: 'dummy',
      loadChildren: () => dummyModule,
    }
  ]
}];
Run Code Online (Sandbox Code Playgroud)

testComponent.html

<div>Test</test>
<router-outlet></router-outlet> …
Run Code Online (Sandbox Code Playgroud)

router typescript router-outlet angular

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

bazel:使用WSL的bash而不是MSYS64

由于MSYS64,我在Windows上使用Bazel时遇到问题:

ERROR: C:/users/ximo.hi/_bazel_ximo/4qw2ezwb/external/java_image_base/image/BUILD:6:1: error executing shell command: 'bazel-out/host/bin/external/gzip/gzip.exe -d < external/java_image_base/image/000.tar.gz > bazel-out/x64_windows-fastbuild/bin/external/java_image_base/image/000.tar.gz.nogz' failed (Exit 127): bash.exe failed: error executing command
  cd C:/users/ximo.hi/_bazel_ximo/4qw2ezwb/execroot/com_telefonica_baikal
C:/msys64/usr/bin/bash.exe -c bazel-out/host/bin/external/gzip/gzip.exe -d < external/java_image_base/image/000.tar.gz > bazel-out/x64_windows-fastbuild/bin/external/java_image_base/image/000.tar.gz.nogz
C:/users/ximo.hi/_bazel_ximo/4qw2ezwb/execroot/com_telefonica_baikal/bazel-out/host/bin/external/gzip/gzip: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我尝试使用WSL的bash和gzip运行相同的命令,它运行得很好.有没有简单的方法告诉Bazel使用内置的WSL bash而不是MSYS64?

msys bazel windows-subsystem-for-linux

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

加载内容时的角度加载动画

我有一个角度页面,可以在本地驱动器上加载一些内容。所以它在没有网络服务器的情况下运行。有时它的加载安静很长时间(10 秒)。

我试图实现一个jquery加载动画,但即使是从JS加载正常内容后,jquery加载动画也开始了。

这是页面在加载我的角度内容时的外观:

未加载内容

如何实现加载微调器或文本,而不是显示原始 {{example.example}} 值?

谢谢。

javascript jquery loading angular

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

试图为每一行编写测试用例

  • 有写跳测法的测试用例,
  • 但当我看到代码覆盖率报告时,它不会进入onloadend方法seat.onloadend.
    • 在createSpyObj中,我调用了loadend,但仍然没有进入内部
  • 你能告诉我如何解决它吗?
  • 在下面提供我的代码和测试用例.
  • 我试图为每一行提供测试用例.
  jumping(inputValue: any): void {
    var that = this;
    var file: File = inputValue.files[0];

    var seat: FileReader = new FileReader();
    seat.onloadend = (e) => {
      this.encodeBase64 = seat.result;
      that.fileSelect = $("#laptop").val().replace(/^.*\\/, "");
      if (that.fileSelect == '') {
        that.dragDrop = that.swimming;
      } else {
        that.dragDrop = "";
        that.dragDrop = that.fileSelect;
      }
    }
    $('.running').show();
    if (inputValue.files.length > 0) {
      var wholeQuantity = 0;

      wholeQuantity = inputValue.files[0].size / 1048576; //size in mb 

      if (wholeQuantity > 5) {
        $('.stars').show(); …
Run Code Online (Sandbox Code Playgroud)

html javascript jasmine angularjs typescript

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

在 Node.js 中从 AudioBuffer 写入一个 wav 文件

我是 Node.js 编程新手,我正在尝试将 m4a 文件转换为 wav 文件。

我使用了 audiobuffer-to-wav 和 web-audio-api。这是我的代码:

const fs = require('fs');
const toWav = require('audiobuffer-to-wav');
const AudioContext = require('web-audio-api').AudioContext;
const audioContext = new AudioContext;

let resp = fs.readFileSync('sample.m4a');

audioContext.decodeAudioData(resp, buffer => {
  let wav = toWav(buffer);
  console.log(buffer.length);
  console.log(wav); 
});
Run Code Online (Sandbox Code Playgroud)

我想知道如何将 wav 变量保存到 Node.js 中的文件中

javascript node.js audiocontext

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

Angular4x:具有expire参数的ngx-cookie-service

我正在使用ngx-cookie-service组件,但是一旦关闭浏览器,Cookie就会消失,也许我必须设置expire参数,但是我无法获取它,低于文档说明:

set( name: string, value: string, expires?: number | Date, path?: string, domain?: string, secure?: boolean ): void;
Run Code Online (Sandbox Code Playgroud)

(我尝试使用数字,但似乎不起作用)

提前致谢。

angular

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