Javascript: 如何在光标当前位置插入域?
Javascript: how do I insert the domain at the current position of the cursor?
能否Javascript以小书签之类的形式,在光标位置插入当前页面的域名?怎么样?
有兴趣同时插入 whosebug.com
、www.whosebug.com
以及 www
。
(用例:我在这里写一个问题,光标在标题文本字段或问题 body 文本区域,我想在当前位置插入域名光标)。
选中textarea时,点击小书签,使用document.activeElement
标识textarea,.slice
其值,与window.location.origin
:
连接
javascript: (() => {
const textarea = document.activeElement;
const { selectionStart } = textarea;
textarea.value = textarea.value.slice(0, selectionStart) + window.location.origin + textarea.value.slice(selectionStart);
})();
如果您希望小书签在 https://robot-parts.confetti.events/
内的 iframe 中工作,则访问 contentWindow.document
以进入 activeElement
:
javascript: (() => {
const textarea = document.querySelector('.signup-iframe').contentWindow.document.activeElement;
const { selectionStart } = textarea;
textarea.value = textarea.value.slice(0, selectionStart) + window.location.origin + textarea.value.slice(selectionStart);
})();
此函数为键盘快捷键 ctrl
+g
添加事件列表,并在输入和文本区域标签的光标位置插入当前 url
const fields = ['INPUT','TEXTAREA'];
function doc_keyUp(e) {
if (e.ctrlKey && e.keyCode == 71) {
// call your function to do the thing
console.log(document.activeElement)
if(fields.includes(document.activeElement.tagName)){
let myField = document.activeElement;
let startPos = myField.selectionStart;
let endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ window.location.href
+ myField.value.substring(endPos, myField.value.length);
}
}
}
// register the handler
document.addEventListener('keyup', doc_keyUp, false);
能否Javascript以小书签之类的形式,在光标位置插入当前页面的域名?怎么样?
有兴趣同时插入 whosebug.com
、www.whosebug.com
以及 www
。
(用例:我在这里写一个问题,光标在标题文本字段或问题 body 文本区域,我想在当前位置插入域名光标)。
选中textarea时,点击小书签,使用document.activeElement
标识textarea,.slice
其值,与window.location.origin
:
javascript: (() => {
const textarea = document.activeElement;
const { selectionStart } = textarea;
textarea.value = textarea.value.slice(0, selectionStart) + window.location.origin + textarea.value.slice(selectionStart);
})();
如果您希望小书签在 https://robot-parts.confetti.events/
内的 iframe 中工作,则访问 contentWindow.document
以进入 activeElement
:
javascript: (() => {
const textarea = document.querySelector('.signup-iframe').contentWindow.document.activeElement;
const { selectionStart } = textarea;
textarea.value = textarea.value.slice(0, selectionStart) + window.location.origin + textarea.value.slice(selectionStart);
})();
此函数为键盘快捷键 ctrl
+g
添加事件列表,并在输入和文本区域标签的光标位置插入当前 url
const fields = ['INPUT','TEXTAREA'];
function doc_keyUp(e) {
if (e.ctrlKey && e.keyCode == 71) {
// call your function to do the thing
console.log(document.activeElement)
if(fields.includes(document.activeElement.tagName)){
let myField = document.activeElement;
let startPos = myField.selectionStart;
let endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ window.location.href
+ myField.value.substring(endPos, myField.value.length);
}
}
}
// register the handler
document.addEventListener('keyup', doc_keyUp, false);