小编Dav*_*eh0的帖子

VScode 中的 vim 模拟扩展导致问题

我多年来一直在“VIM 模式”下使用 VS Code,没有出现任何问题。我现在是 v1.46。我今天启动它,立即无法输入,并且其他键(例如转义键)无法注册。在左下角,我会间歇性地看到以下内容:

在此输入图像描述

我进入扩展并禁用了 Vim 模拟器,现在它允许我正常编辑文件......当然,没有 vim 功能。

我看到一个通过 GitHub 提交的错误,看起来可能已经解决了这个问题,但由于缺乏提供的信息而被关闭。

有什么想法可能会发生什么或者我如何才能恢复我的 vim 功能吗?



更新

这里有更多信息:

  • 我重新安装并更新了 VSCode 和插件 - 相同的行为
  • 有时整个事情从 get 开始就失败了,而其他时候(重新启动后),它似乎一次失败了 1 个键 - 例如,我正在打字,然后突然按退格键会在右下角产生一条错误消息角落的效果command 'extension.vim_backspace' not found- 这是 github 上的已关闭问题 - https://github.com/microsoft/vscode/issues/22365对于该特定消息,但我也遇到了转义键和其他键的错误
  • 我还尝试切换到 NeoVim(在 mac 上),我认为它可以工作,但最终最终走上了同样的路线(esc通常首先停止工作)

vim-plugin visual-studio-code

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

具有位置的元素:相对于SVG剪辑路径未在Safari中显示

我有一个网页,我在其中使用应用于页面的HTML元素之一的SVG剪辑路径.

SVG元素:

<svg height="0" width="0">
    <defs>
        <clipPath id="clip">
            <path d="M150 0 L75 200 L225 200 Z" />
        </clipPath>
    </defs>
</svg>
Run Code Online (Sandbox Code Playgroud)

应用剪切路径的HTML元素

<div id="clipMe"> </div>

定义剪辑的CSS

#clipMe {
    clip-path: url(#clip);
    -webkit-clip-path: url(#clip);
    width: 200px;
    height: 200px;
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

在同一页面上,我有各种各样的元素,其中一些相对定位:

<div style="position: relative">
    <strong>My parent is relative</strong>
</div>
Run Code Online (Sandbox Code Playgroud)

仅在Safari(8.0.4)中,只要从#clipMediv到clipPath(在SVG元素内)的链接完好无损,就不会显示这些相对定位的元素.

最新版本的FF和Chrome按预期显示.

position:属性更改为除relative之外的任何内容都会按预期显示所有内容

禁用剪切路径(通过一起删除SVG元素或clip-path:从CSS中删除属性)也会按预期显示所有内容.

的jsfiddle:

同样,这只是Safari.我花了一段时间将它隔离到关于SVG剪切路径,position: relative所以我猜测可能有其他类似结果的情况.

有没有人遇到这个或有任何建议让这些相对定位的s显示?

编辑
这可能是一个Mac的东西.虽然它在OSX中的Chrome和Firefox中显示为预期,但它不会在iOS上的任何浏览器中显示相对定位的DIV.

有任何想法吗?

safari svg css-position css3 clip-path

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

多次复制画布:克隆画布还是复制图像数据?

我的一个界面元素是使用HTML5 <canvas> 元素和相关的JavaScript API 呈现的.此元素在整个应用程序的同一屏幕和多个屏幕上的多个位置使用.什么是在所需的任何地方显示它的最有效方法?

我的第一个想法是绘制一个主画布,然后我将其克隆并插入页面中所需的位置.主画布可能类似于:

var master = $('<canvas>').attr({
      width: 100,
      height: 100
    }),
    c = master[0],
    ctx = c.getContext("2d");

    ctx.fillStyle = "#FF0000";
    ctx.fillRect(0, 0, 150, 75);
Run Code Online (Sandbox Code Playgroud)

假设我想在这些div容器中复制画布:

<div class="square-container" id="square_header"></div>
...
<div class="square-container" id="square_dataTable"></div>
...
<div class="square-container" id="square_gallery"></div>
....
Run Code Online (Sandbox Code Playgroud)

当页面加载时,我将这样做以在每个容器中插入一个重复的canvas元素:

$(document).ready(function() {
    $('.square-container').each(function() {
        master.clone().appendTo($(this));
    });
}); 
Run Code Online (Sandbox Code Playgroud)

在画布上呈现的内容将比本示例中使用的简单方块更复杂,但仍然只是一个静态图像.但是,有可能每页克隆数十个不同的图像数十次.

我想到的另一种方法是使用该toDataURL()方法创建一个图像,并将其设置为适当的图像源:

var master = $('<canvas>').attr({
    width: 100,
    height: 100
}),
    c = master[0],
    ctx = c.getContext("2d");

    ctx.fillStyle = "#FF0000";
    ctx.fillRect(0,0,150,75);

var square = c.toDataURL('image/png'); 
Run Code Online (Sandbox Code Playgroud)

我会在必要时添加图片标签:

<img …
Run Code Online (Sandbox Code Playgroud)

html javascript html5 canvas cloning

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

PHP 中的 2 路字符串加密 - 其中哪个更安全?

我需要通过查询字符串传递一个值以显示在我的页面上。该值必须加密,因为它包含一些供查看页面的用户使用的 PII。并且为了让用户可读,它需要在显示时能够被解密。

我使用PHP和研究迄今已使我openssl_encryptopenssl_decrypt这些2个代码资源一起:

  1. https://bhoover.com/using-php-openssl_encrypt-openssl_decrypt-encrypt-decrypt-data/
  2. https://gist.github.com/joashp/a1ae9cb30fa533f4ad94

我非常喜欢#1,因为iv它实际附加到返回的加密字符串的方式。这使我们不必将 an 存储iv为常量,并且能够在每次调用函数时生成一个新的。这似乎比使用相同的更安全对我keyiv每一次。真的吗?如果是这样,除了痛苦的显而易见的原因之外,我是否应该知道任何原因?. 我不喜欢的是,我认为ivkey与一个字符/字符串(在这种情况下::)连接起来,可以在其他潜在的密码文本或iv成了问题。使用这种方法,在尝试加密 7000 多个电子邮件地址时,其中一半多一点的结果是这些奇怪的字符,???6CT?其中包括)在解码字符串中,从而破坏了它。

#2 很棒,因为它有效!!我还没有找到可以破坏它的字符串……尤其是在我的电子邮件列表中。但是如上所述,这需要。在ivkey 永远是相同的值,并存储在一个变量的地方。这似乎是一个很小的维护问题,但更多的是安全问题。

所以我做了更多的阅读/思考并想出了这个工作示例- 这是代码:

<?php

// generate key with base64_encode(openssl_random_pseudo_bytes(32);
// and save it in a constant.
define('ENCRYPT_KEY_1', 'CuH8WPfXzMj0xRWybHjssWJ+IhTDqL5w0OD9+zXFloA=');

function encrypt_decrypt($action, $string) {
    $output = false;

    $encrypt_method = "AES-256-CBC";
    $key = …
Run Code Online (Sandbox Code Playgroud)

php security encryption pii

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

Google Apps Script - 部署为 Webapp - 每次都是新版本?

Code.gs除非我在新版本下部署为 webapp,否则我对文件所做的更改似乎无法识别。这是设计的行为还是我在其他地方做错了什么?

web-applications version google-apps-script

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

从PHP解析javascript的问题

这是我的PHP数组:

$entries = array(
    1420934400 => array(
        'entry' => 'I think I liked it.',
        'data' => 'some'
    ),
    1452470400 => array(
        'entry' => 'Turkey is much better. Tastes more like chicken.',
        'data' => 'no calls'
    ));
Run Code Online (Sandbox Code Playgroud)

然后我转换为JSON

$entries = json_encode($entries);
Run Code Online (Sandbox Code Playgroud)

这会产生字符串:
{"1420934400":{"entry":"I think I liked it.","data":"some"},"1452470400":{"entry":"Turkey is much better. Tastes more like chicken.","data":"no calls"}}

...我相信它是有效的JSON.但是当我尝试使用JavaScript访问时:

<script>
    var fetchedEntries = JSON.parse(<?php echo $entries ?>);
    console.log('entries: %o', fetchedEntries);
</script>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

SyntaxError:JSON.parse:JSON数据的第1行第2列的意外字符

谁能看到我哪里出错了?

javascript php json

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