小编sve*_*son的帖子

JavaScript - 好的部分:函数原型与对象原型

刚读完"JavaScript:The Good Parts" - 好书.但我对第33-34页上的一个非常重要的主题感到困惑 - 增加类型.它描述了添加到Function.prototype的新方法的创建,因此当使用新方法调用时,所有函数都将具有该方法.很公平.但随后的示例显示了此方法正在使用Numbers和Strings.我想,这是对象 - 而不是功能.我在这里错过了什么?

Function.prototype.method = function (name, func) {
    this.prototype[name] = func;
    return this;
};
Run Code Online (Sandbox Code Playgroud)

用法示例:

Number.method('integer', function() {
    return Math[this < 0 ? 'ceiling' : 'floor'](this);
});

document.writeln((-10 / 3).integer()); //-3
Run Code Online (Sandbox Code Playgroud)

javascript

17
推荐指数
2
解决办法
4427
查看次数

CORS - 从HTTPS跨域POST到HTTP

我正在尝试使用HTTP URL从使用HTTPS加载到不同域的页面使用XmlHTTPRequest POST.HTTP服务器是本地(在家中)服务器,因此它不能是HTTPS.(这是一个原型/演示 - 家庭HTTP服务器可能会在机顶盒中).我的服务器返回:

'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods' : 'GET, POST, PUT, DELETE, OPTIONS'
Run Code Online (Sandbox Code Playgroud)

当我发布时,似乎浏览器已取消该请求.我在控制台中看到了这个警告:

页面位于'https://xxx.html'通过HTTPS加载,但显示的内容不安全'http://localhost:10293/yyy':此内容也应通过HTTPS加载.

有没有办法让这项工作?

关于这一点非常有趣的是我可以向HTTP服务器发送DELETE,它可以工作,而不是POST!(服务器处理'OPTION'请求,并返回上面的'Access'标题.DELETE也会导致警告吐出,但发送请求的次数不同于POST,浏览器取消了请求.

服务器是基本的node.js服务器.

javascript ajax https cors

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

无法使用Android Studio构建GStreamer教程

我正在尝试构建捆绑的教程gstreamer-sdk-android-arm-debug-2013.6.将Android.mk在文件src/jni目录(教程1个项目)引用的环境变量,例如GSTREAMER_SDK_ROOT.根据我的阅读,Android Studio不使用/传递环境变量到构建脚本.是否有修改makefile和定义/检索构建脚本所需的键/值对的最佳实践?

android gstreamer android-ndk-r5 android-studio ndk-build

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

Git - 以编程方式确定本地提交是否尚未推送

我已经看到很多关于如何显示所有尚未提交的本地分支的所有本地提交的帖子/答案。

我的用例很窄,还没有找到答案。

我需要从 bash 脚本中确定我的当前分支是否有尚未推送到上游同一分支的提交。计数就可以了,但我真的只需要知道推送是否尚未完成。除了当前分支之外,我不关心任何分支,在这种情况下,我已经检查了该分支是否是本地的(即尚未设置上游原点)。

主要是,我不想打印出提交。我只想知道未推送的提交数量 > 0。

git bash push

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

如何使用PHP删除转义的正斜杠?

我正在使用Google Drive API,而refresh_token我获得的是一个转发的正斜杠.虽然这应该是有效的JSON,但API在调用时不会接受它refreshToken().我试图删除反斜杠使用preg_replace:

$access_token = "1\/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8";
$access_token = preg_replace('/\\\//', '/', $access_token);
Run Code Online (Sandbox Code Playgroud)

我想返回的字符串是:

"1/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8";
Run Code Online (Sandbox Code Playgroud)

我尝试了各种表达式,但要么不删除反斜杠,要么返回空字符串.请注意,我不想删除所有反斜杠,只删除正斜杠的反斜杠.

php regex

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

使用已知良好的SMTP服务器,nodemailer失败,连接被拒绝

我有一个邮件服务器设置并可以工作(在Linode上使用docker镜像,在Linode上使用dockerized dovecot / postfix)-我可以在我的macbook上从roundcube和邮件客户端发送和接收邮件。

但是使用相同的SMTP服务器和凭据设置nodemailer,我得到:

{ Error: queryA ECONNREFUSED mail.xxxxx.com
    at errnoException (dns.js:50:10)
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:238:19)
  code: 'EDNS',
  errno: 'ECONNREFUSED',
  syscall: 'queryA',
  hostname: 'mail.xxxxx.com',
  command: 'CONN' }
Run Code Online (Sandbox Code Playgroud)

我正在使用来自文档的示例脚本:

"use strict";
const nodemailer = require("nodemailer");

// async..await is not allowed in global scope, must use a wrapper
async function main(){

   // Generate test SMTP service account from ethereal.email
  // Only needed if you don't have a real mail account for testing
  //let account = await nodemailer.createTestAccount();

  // create reusable …
Run Code Online (Sandbox Code Playgroud)

nodemailer

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

vs code - 始终在新窗口/工作区中打开文件夹

我是 VS Code 的新手,大部分内容给我留下了深刻的印象。我还没有找到解决方案的一个小问题:使用 Sublime Text 和其他编辑器,如果您已经打开了一个编辑器窗口,并对文件夹执行“文件”->“打开”,它将为该文件夹打开一个新的编辑器窗口。

使用 VS Code,它将新文件夹添加到现有窗口/工作区。有没有设置让它总是打开一个新窗口?我当前的解决方法是首先打开一个新窗口,然后从该窗口打开文件夹。NBD,但有点乏味。

visual-studio-code

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

如何从外部更改 SwiftUI Toggle 的状态

我正在尝试从视图外部更改切换的状态。我尝试过 ObservableObject 和 EnvironmentObject,但切换需要绑定(@State)。

  • 当用户点击切换时我需要执行回调
  • 我需要以编程方式更改切换的状态,而不执行回调。
  • 我对此视图和其他视图使用共享模型,理想情况下我希望能够将其用于“启用”Bool 来代替 State var isOn。

这段代码确实让我通过扩展执行回调,但我不知道如何在外部更改 State 变量 isOn,如果我能够,我猜测我的回调将被执行,但我不想这样做发生。

import SwiftUI

struct ControlView: View {
    var title: String
    var panel: Int
    var callback: ()-> Void
    @State public var isOn = false // toggle state
    @EnvironmentObject var state: MainViewModel

    //@ViewBuilder
    var body: some View {
        VStack() {
             
            // -- Header
            HStack() {
                Text(" ")
                Image(self.state.panelIcon(panel: panel)).resizable().frame(width: 13.0, height: 13.0)
                Text(title)
                Spacer()
            }.padding(EdgeInsets(top: 8, leading: 0, bottom: 8, trailing: 0))
            .background(Color(red: 0.9, green: 0.9, blue: 0.9)) …
Run Code Online (Sandbox Code Playgroud)

swiftui

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