diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html index 7457f46..d36429a 100644 --- a/src/main/resources/static/index.html +++ b/src/main/resources/static/index.html @@ -194,17 +194,28 @@ // } function openUrl() { - let url = textarea.innerText; - if (url.startsWith("http:")) { - window.open(url) - } else { - window.open("https://" + url) + let href = "" + for (element of textarea.childNodes) { + if (href === "" && element.href !== undefined && element.href !== "") { + href = element.href + break + } + } + if (href !== "") { + window.open(href) + } else { + let url = textarea.innerText; + if (url.startsWith("http")) { + window.open(url) + } else { + window.open("https://" + url) + } } - } let lastUpdate = null let lastValue = "" + let saveIntervalOnVisibility let saveInterval window.onload = function () { loadValue() @@ -213,11 +224,11 @@ // 页面状态变化为可见时触发 if (document.visibilityState === 'hidden') { if (lastUpdate != null && Date.now() - lastUpdate > 5000) { - clearInterval(saveInterval) + clearInterval(saveIntervalOnVisibility) } } else if (document.visibilityState === 'visible') { loadValue() - saveInterval = setInterval(() => { + saveIntervalOnVisibility = setInterval(() => { saveValue() }, 1000) } @@ -229,9 +240,18 @@ } function saveValue() { - let nowValue = textarea.innerText; - if (nowValue === "") { - nowValue = textarea.innerHTML + let href = "" + for (element of textarea.childNodes) { + if (href === "" && element.href !== undefined && element.href !== "") { + href = element.href + break + } + } + let nowValue = ""; + if (href !== "") { + nowValue = href; + } else { + nowValue = textarea.innerText } if (lastValue !== nowValue && lastUpdate != null && Date.now() - lastUpdate > 3000) { lastValue = nowValue @@ -286,7 +306,10 @@ } for (var i = 0; i < cbd.items.length; i++) { var item = cbd.items[i]; - if (item.kind === "file") { + if (item.kind === "string") { + item.getAsString((data) => console.log(data)) + } + else if (item.kind === "file") { var blob = item.getAsFile(); if (blob.size === 0) { return; diff --git a/target/classes/static/index.html b/target/classes/static/index.html index 7457f46..d36429a 100644 --- a/target/classes/static/index.html +++ b/target/classes/static/index.html @@ -194,17 +194,28 @@ // } function openUrl() { - let url = textarea.innerText; - if (url.startsWith("http:")) { - window.open(url) - } else { - window.open("https://" + url) + let href = "" + for (element of textarea.childNodes) { + if (href === "" && element.href !== undefined && element.href !== "") { + href = element.href + break + } + } + if (href !== "") { + window.open(href) + } else { + let url = textarea.innerText; + if (url.startsWith("http")) { + window.open(url) + } else { + window.open("https://" + url) + } } - } let lastUpdate = null let lastValue = "" + let saveIntervalOnVisibility let saveInterval window.onload = function () { loadValue() @@ -213,11 +224,11 @@ // 页面状态变化为可见时触发 if (document.visibilityState === 'hidden') { if (lastUpdate != null && Date.now() - lastUpdate > 5000) { - clearInterval(saveInterval) + clearInterval(saveIntervalOnVisibility) } } else if (document.visibilityState === 'visible') { loadValue() - saveInterval = setInterval(() => { + saveIntervalOnVisibility = setInterval(() => { saveValue() }, 1000) } @@ -229,9 +240,18 @@ } function saveValue() { - let nowValue = textarea.innerText; - if (nowValue === "") { - nowValue = textarea.innerHTML + let href = "" + for (element of textarea.childNodes) { + if (href === "" && element.href !== undefined && element.href !== "") { + href = element.href + break + } + } + let nowValue = ""; + if (href !== "") { + nowValue = href; + } else { + nowValue = textarea.innerText } if (lastValue !== nowValue && lastUpdate != null && Date.now() - lastUpdate > 3000) { lastValue = nowValue @@ -286,7 +306,10 @@ } for (var i = 0; i < cbd.items.length; i++) { var item = cbd.items[i]; - if (item.kind === "file") { + if (item.kind === "string") { + item.getAsString((data) => console.log(data)) + } + else if (item.kind === "file") { var blob = item.getAsFile(); if (blob.size === 0) { return;