如何强制浏览器在 Edge 中粘贴 url 而不是页面标题

How to force browser to paste url and not page title in Edge

我需要用户从外部站点 copy-paste urls 在我的网页的可编辑 div 中(“contentEditable="true")

在 Edge 中,当用户粘贴 url 时,它会自动粘贴页面标题而不是 url。

我想强制浏览器粘贴 url 而不是页面标题。我该怎么做?

非常感谢

.editablediv {
  height: 50px;
  width: 300px;
  background-color: lightgray;
  padding: 3px 3px 3px 3px;
}
<div contentEditable="true" class="editablediv">https://</div>

它在Edge中粘贴标题,因为Edge中有复制粘贴设置。你可以看到在Edge中默认情况下,它会粘贴link而不是纯文本:

如果你想强制粘贴url(纯文本),你可以使用如下代码。它将捕获粘贴事件并允许您直接以文本形式获取剪贴板数据:

document.querySelector("div[contenteditable]").addEventListener("paste", function(e) {
  e.preventDefault();
  var text = e.clipboardData.getData("text/plain");
  document.execCommand("insertHTML", false, text);
});
.editablediv {
  height: 50px;
  width: 300px;
  background-color: lightgray;
  padding: 3px 3px 3px 3px;
}
<div contentEditable="true" class="editablediv">https://</div>