小编Sha*_*ane的帖子

Javascript:检测窗口何时完全加载

我有一个脚本,可以在网页生命周期的任何阶段加载.加载脚本时,它必须运行initialize()方法.

我希望这个函数在"onload"事件上运行,但是我不能确定页面还没有加载,即"onload"还没有被解雇.

理想情况下,我的脚本看起来像这样:

var _initialize = function() { ...};

if(window.LOADED)
    _initialize();
else if (window.addEventListener)
    window.addEventListener('load', _initialize, false); 
else if (window.attachEvent)
    window.attachEvent('onload', _initialize);
Run Code Online (Sandbox Code Playgroud)

有没有这样的window.LOADED或document.LOADED变量或类似的东西?

谢谢,谢恩

javascript events load

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

实体框架7中的多对多查询

我正在关注这个我从http://ef.readthedocs.org/en/latest/modeling/relationships.html获得的例子.

class MyContext : DbContext
{
    public DbSet<Post> Posts { get; set; }
    public DbSet<Tag> Tags { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<PostTag>()
            .HasKey(t => new { t.PostId, t.TagId });

        modelBuilder.Entity<PostTag>()
            .HasOne(pt => pt.Post)
            .WithMany(p => p.PostTags)
            .HasForeignKey(pt => pt.PostId);

        modelBuilder.Entity<PostTag>()
            .HasOne(pt => pt.Tag)
            .WithMany(t => t.PostTags)
            .HasForeignKey(pt => pt.TagId);
    }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core

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

内容安全策略 (CSP) 阻止 Firefox 中的有效随机数

我有一个 Web 服务器,它生成对 GET 请求的 http/html 响应。我添加了以下响应标头:content-security-policy: default-src 'nonce-Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo' 'self' *.my-org.net *.my-org.com fonts.googleapis.com fonts.gstatic.com *.amazon.com;

\n

然后我将以下标签添加到我的 html 文档中:

\n
<!-- these tags are blocked in firefox -->\n<style nonce="Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo"> some inline code ....\n<script nonce="Z2lnkA9A00KuJsXvx94P6hyDdyRUaxFCiV9lUS0XgWo"> some inline code ....\n\n<!-- this tag works as expected in all browsers-->\n<script src="/scripts/utils.js"></script>\n
Run Code Online (Sandbox Code Playgroud)\n

此代码在 Chrome 和 Edge 中可以正确执行,但 Firefox 会阻止内联脚本标签,同时允许执行获取的脚本标签。

\n

Firefox 控制台中的错误是:内容安全策略:页面\xe2\x80\x99s 设置阻止了内联资源的加载 (\xe2\x80\x9cdefault-src\xe2\x80\x9d)。

\n

firefox content-security-policy

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

Jquery模板,转义"$ {...}"

我有一段javascript代码如下:

var data = { ... };
var template = "<select>" +
                 "<option value='${0:###,###.##}'>Format as $</option>" + 
               "</select>";

$.tmpl(template, data).appendTo("#placeholder");
Run Code Online (Sandbox Code Playgroud)

我的问题是我想要将"value ='$ {0:###,###.##}'"作为字符串进行评估,但jQuery模板会尝试将其作为对象引用进行评估.

有没有办法逃避$ {}字符?

干杯,沙恩

javascript jquery templates jquery-templates

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

当setInterval(...)运行时,Mocha测试套件永远不会结束

我有一套测试,其中包含带有setInterval(...)调用的代码。

通过Windows Powershell命令行在Mocha中运行此代码时,将运行所有测试,但此后测试运行程序将无限期挂起。

我正在使用的命令是 mocha "./unitTests/**/*.js"

有没有办法迫使测试运行程序关闭?

Alternatively is there a way to determine that the code is running in a test environment so that I can disable my setInterval(...) calls?

Example code:

// MODULE TO TEST
setInterval(function(){
    // do cleanup task
}, 1000000);

function testFunction(){
    return "val";
}

export {
    testFunction
}

// TEST MODULE
describe("Test setInterval", function() {  
    it("should finish", function() {
        testFunction().should.be.equal("val");

        // This test will complete and all others, but the entire suite will …
Run Code Online (Sandbox Code Playgroud)

javascript windows unit-testing mocha.js node.js

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

为什么WPF中没有任何内容发生点击事件?

这对我来说似乎很奇怪.

我知道通过一些冒险的继承,您可以将大多数UIElements转换为按钮,但这是实现最基本的计算机事件的繁琐方式

c# wpf events xaml click

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

通过反射从C#中的嵌套类型的DeclaringType获取泛型类型

说我有以下类结构:

public class Outer<T>
{
    public class Inner<U>
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

和一些代码:

var testType = typeof(Outer<string>.Inner<int>);
Run Code Online (Sandbox Code Playgroud)

我如何从变量中获取构造的泛型类型typeof(Outer<string>)或泛型typeof(string)testType值?

.net c# reflection

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

尝试了解函子在 FSharpPlus 中是如何实现的

有人可以解释一下这段代码在 F# 中的工作原理吗:

https://github.com/fsprojects/FSharpPlus/blob/master/src/FSharpPlus/Control/Functor.fs#L99-99

static member inline Invoke (mapping: 'T->'U) (source: '``Functor<'T>``) : '``Functor<'U>`` = 
    let inline call (mthd: ^M, source: ^I, _output: ^R) = ((^M or ^I or ^R) : (static member Map : (_*_)*_ -> _) (source, mapping), mthd)
    call (Unchecked.defaultof<Map>, source, Unchecked.defaultof<'``Functor<'U>``>)
Run Code Online (Sandbox Code Playgroud)

具体来说call,该函数使用了我不理解的语法

例如

  • 这是什么(^M or ^I or ^R)意思?
  • 其中哪些部分是代码,哪些部分是类型定义?
  • ... -> 'a当它似乎返回一个元组时,它如何具有类型签名?
  • 是否存在某种类型级别的编程黑客行为?

f# f#+

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