小编Ser*_*iev的帖子

从选择范围中删除节点后,ExecCommand在Chrome 60中无法正常工作

我们在调试一个非常旧版本的Redactor编辑器时发现了一个非常棘手的案例.换句话说,span从选择范围中删除节点会导致execCommandChrome v60中的行为不正确,但在Firefox和Chrome v58中它正常运行.

以下是重现问题的小提琴:https://jsfiddle.net/47wqpv1f/4/.

选择一个单词,然后按按钮.你可能会在这里看到,在Firefox和Chrome 58中,文字将会被淘汰,而在Chrome 60中则保持不变.

在格式化操作(例如粗体)上,编辑器用两个不同的"标记"元素围绕选择范围.

  var range2 = range.cloneRange();
  var marker = document.createElement('span');
  marker.id="selection-marker-1";
  marker.className="redactor-selection-marker";
  marker.innerHTML = markerHTML;  

  range2.collapse(true);
  range2.insertNode(marker);
Run Code Online (Sandbox Code Playgroud)

然后编辑器通过选择进行一些操作,然后重置选择以匹配标记边界.

  range.setStart(document.getElementById('selection-marker-1'), 0);
  range.setEnd(document.getElementById('selection-marker-2'), 0);
Run Code Online (Sandbox Code Playgroud)

在该编辑器删除标记节点之后,其意图应该保留原始选择.

  marker.parentNode.removeChild(marker);
  marker2.parentNode.removeChild(marker2);
Run Code Online (Sandbox Code Playgroud)

接下来,编辑器再次为格式化过程的下一步添加标记,然后执行execCommand删除操作.

Chrome 60只会strike在左侧标记处添加标记,而其他提到的浏览器将strike围绕整个选择(在这种情况下,这是我预期的行为).

我可以在这里想到不同的解决方法但是在新Chrome中改变行为的实际原因是什么?

html javascript google-chrome contenteditable

20
推荐指数
1
解决办法
201
查看次数

Git拉过SSH - 找不到存储库.HTTPS有效

Git pull over ssh不适用于我组织的私有存储库之一.

?  player2-js git:(master) git remote set-url origin git@github.com:MyOrganization/player2-js
?  player2-js git:(master) GIT_TRACE=1 git pull
11:24:39.494710 git.c:371               trace: built-in: git 'pull'
11:24:39.495491 run-command.c:350       trace: run_command: 'fetch' '--update-head-ok'
11:24:39.495882 exec_cmd.c:116          trace: exec: 'git' 'fetch' '--update-head-ok'
11:24:39.498051 git.c:371               trace: built-in: git 'fetch' '--update-head-ok'
11:24:39.499378 run-command.c:350       trace: run_command: 'ssh' 'git@github.com' 'git-upload-pack '\''MyOrganization/player2-js'\'''
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

网址是正确的,我从github复制它并仔细检查它.当然,我的SSH访问是正确的,我也检查了它:

?  player2-js git:(master) …
Run Code Online (Sandbox Code Playgroud)

git ssh github

6
推荐指数
0
解决办法
510
查看次数

将具有动态高度的块与具有动态高度的外部的右底部对齐

是否有可能以任何方式将具有未知高度的文本块与具有未知高度的父级的右底部对齐?需要纯 CSS。尝试使用 flexbox、float、absolute 定位,但无法弄清楚。

有一个漂亮的答案/sf/answers/1272007691/,但看起来太奇怪了,在不同的浏览器中可能会出错。

将带有文本环绕的图像浮动到右下角仅部分解决了我的问题,因为主题启动器至少有一个已知大小的内部块,但在我的情况下两者都是动态的,因此 calc (100% - 200px) 不起作用就我而言。

在此处输入图片说明

html css

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

标签 统计

html ×2

contenteditable ×1

css ×1

git ×1

github ×1

google-chrome ×1

javascript ×1

ssh ×1