我正在尝试将C#DateTime变量转换为Unix时间,即自1970年1月1日以来的秒数.看起来DateTime实际上是自0001年1月1日以来的"滴答"数量.
我目前的想法是从我的DateTime中减去1970年1月1日这样:
TimeSpan span= DateTime.Now.Subtract(new DateTime(1970,1,1,0,0,0));
return span.TotalSeconds;
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我正在使用新的ES6模板文字功能,我头脑中的第一件事是String.format
用于Javascript,所以我开始实现原型:
String.prototype.format = function() {
var self = this;
arguments.forEach(function(val,idx) {
self["p"+idx] = val;
});
return this.toString();
};
console.log(`Hello, ${p0}. This is a ${p1}`.format("world", "test"));
Run Code Online (Sandbox Code Playgroud)
但是,模板文字在传递给我的原型方法之前会被评估.有没有什么办法可以编写上面的代码来推迟结果,直到我动态创建元素?
我正在尝试在Android 4.4中使用新的evaluateJavascript方法,但我得到的所有内容都是null结果:
webView1.evaluateJavascript("return \"test\";", new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
Log.d("LogName", s); // Log is written, but s is always null
}
});
Run Code Online (Sandbox Code Playgroud)
如何将结果返回此方法?
更新:更多信息:
setJavascriptEnabled(true);
return 'test';
,return { test: 'this' }
console.log('test');
正在执行罚款.targetSdkVersion
为19:如果您的应用使用WebView设备: Nexus 7和Nexus 5(股票)
如果我有一个需要满足这些要求的if语句:
if(cave > 0 && training > 0 && mobility > 0 && sleep > 0)
Run Code Online (Sandbox Code Playgroud)
有没有办法说它们都大于零?只是为了更有效的DRY代码?
就像是:
if(cave, training, mobility, sleep > 0)
Run Code Online (Sandbox Code Playgroud) 如何在使用Gulp时将JSHint 的输出显示在Visual Studio 2015的错误列表中,而不是仅输出到Task Runner?
我已经尝试过这个软件包,但除了格式化Gulp输出略有不同之外,似乎没有做任何事情.
这是我的gulpfile.js:
gulp.task('default', function () {
gulp.src(["Scripts/**/*.js"])
.pipe(jshint(".jshintrc"))
.pipe(jshint.reporter("jshint-visual-studio"));
});
Run Code Online (Sandbox Code Playgroud)
实际输出(在任务运行窗口中):
首选输出(在错误列表中):
请注意:我正在使用Visual Studio 2015,因此Web Essentials不再是JSHint的选项,因为功能已被删除.
我通常沿着以下行实现继承.
function Animal () { this.x = 0; this.y = 0;}
Animal.prototype.locate = function() {
console.log(this.x, this.y);
return this;
};
Animal.prototype.move = function(x, y) {
this.x = this.x + x;
this.y = this.y + y;
return this;
}
function Duck () {
Animal.call(this);
}
Duck.prototype = new Animal();
Duck.prototype.constructor = Duck;
Duck.prototype.speak = function () {
console.log("quack");
return this;
}
var daffy = new Duck();
daffy.move(6, 7).locate().speak();
Run Code Online (Sandbox Code Playgroud)
我已经阅读了Eric Elliott的这篇文章,如果我理解正确,我可以使用Object.create
而Object.assign
不是?它真的那么简单吗?
var animal = {
x …
Run Code Online (Sandbox Code Playgroud) 我一直在寻找如何在SO上做到这一点的例子,据我所知,我已经尝试了所有可以找到但迄今为止没有成功的例子.我已经尝试将一些实现改为我的场景,但迄今为止也失败了.
我在_layout.cshtml的页面上有这个,所以我总是有一个令牌:
<form id="__AjaxAntiForgeryForm" action="#" method="post"> @Html.AntiForgeryToken()</form>
Run Code Online (Sandbox Code Playgroud)
我的JavaScript utils文件中也有这个方法:
AddAntiForgeryToken = function (data) {
data.__RequestVerificationToken = $('#__AjaxAntiForgeryForm input[name=__RequestVerificationToken]').val();
return data;
};
Run Code Online (Sandbox Code Playgroud)
这一切都按预期工作,我得到一个防伪标记.我的实际发布代码是:
myPage.saveData = function() {
var saveUrl = '/exercises/PostData';
var myData = JSON.stringify(myPage.contextsArrays);
$.ajax({
type: 'POST',
async: false,
url: saveUrl,
data: AddAntiForgeryToken({ myResults: myData }),
success: function () {
alert('saved');
},
dataType: 'json',
contentType: "application/json; charset=utf-8"
});
};
Run Code Online (Sandbox Code Playgroud)
我的动作方法如下所示:
[HttpPost, ValidateAntiForgeryToken, JsonExceptionFilter]
public JsonResult PostData(List<ResultsDc> myResults)
{
return Json(_apiClient.SubmitResults(myResults));
}
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用我一直在尝试的各种实现,并且响应总是:
{"errorMessage":"The required anti-forgery form field \"__RequestVerificationToken\" is not …
Run Code Online (Sandbox Code Playgroud) 我有一个带有文本内容的html页面.在选择任何文本并按突出显示按钮时,我可以更改所选文本的样式以突出显示相同的文本.为了实现这个功能,我写了以下方法.
sel = window.getSelection();
var range = sel.getRangeAt(0);
var span = document.createElement('span');
span.className = "highlight" + color;
range.surroundContents(span);
Run Code Online (Sandbox Code Playgroud)
如果您选择没有html标记的文本,但是当文本中间有任何html标记时,它会正常工作
无法在'Range'上执行'surroundContents':Range已部分选择了非Text节点.
如何解决这个问题呢.是否可以为每个部分分别突出显示相同的内容(除以html标签)?
我在尝试使用async
lambda 时遇到以下错误IEnumerable.SelectMany
:
var result = myEnumerable.SelectMany(async (c) => await Functions.GetDataAsync(c.Id));
Run Code Online (Sandbox Code Playgroud)
无法从用法推断出方法'IEnumerable System.Linq.Enumerable.SelectMany(此IEnumerable,Func>)'的类型参数.尝试显式指定类型参数
在哪里GetDataAsync
定义为:
public interface IFunctions {
Task<IEnumerable<DataItem>> GetDataAsync(string itemId);
}
public class Functions : IFunctions {
public async Task<IEnumerable<DataItem>> GetDataAsync(string itemId) {
// return await httpCall();
}
}
Run Code Online (Sandbox Code Playgroud)
我想因为我的GetDataAsync
方法实际上返回了一个Task<IEnumerable<T>>
.但为什么Select
工作,肯定它应该抛出相同的错误?
var result = myEnumerable.Select(async (c) => await Functions.GetDataAsync(c.Id));
Run Code Online (Sandbox Code Playgroud)
有没有办法解决?
我正在尝试在Jekyll重建一个博客,我已经找到了一个简单的任务.
如果我有以下模板集:
default.html中:
{{ head }}
{{ content }}
Run Code Online (Sandbox Code Playgroud)
frontpage.html:
---
layout: default
---
{% capture head %}
Frontpage
{% end %}
{{ content }}
Run Code Online (Sandbox Code Playgroud)
index.html的:
---
layout: frontpage
---
Other stuff
Run Code Online (Sandbox Code Playgroud)
我当时希望{% capture head %}
将变量传递给布局.但似乎只有Front Matter的变量实际上被传递为page.variable_name
.
有没有办法将capture
-d var 传递给Jekyll的布局?
猜猜我可以制作2种不同的布局frontpage
,normal_page
这将取代布局中的整个{{head}}{{content}}
块.但这就像html的两倍,所以capture
如果可能的话我宁愿解决它.
javascript ×4
c# ×2
ecmascript-6 ×2
android ×1
asp.net-mvc ×1
datetime ×1
getselection ×1
gulp ×1
if-statement ×1
jekyll ×1
jquery ×1
jshint ×1
json ×1
lambda ×1
linq ×1
liquid ×1