一行版本用的 encodeURIComponent
会对部分字符保留(!, ', (, ), *)
),导致对于一些网站失效,比如说 Why We Think | Lil'Log
用 URLSearchParams
修改了一版
javascript:(function() {
const selectedText = (function() {
var html = "";
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
var dataDom = document.createElement('div');
dataDom.innerHTML = html;
dataDom.querySelectorAll('a').forEach(function(item, idx) {
console.log('find a link');
var url = new URL(item.href, window.location.href).href;
var content = item.innerText;
item.innerText = '[['+url+']['+content+']]';
});
['p', 'h1', 'h2', 'h3', 'h4'].forEach(function(tag, idx) {
dataDom.querySelectorAll(tag).forEach(function(item, index) {
var content = item.innerHTML.trim();
if (content.length > 0) {
item.innerHTML = content + ' ';
}
});
});
return dataDom.innerText.trim();
})();
const params = new URLSearchParams({
template: "w",
url: location.href,
title: document.title || "UNTITLED PAGE",
body: selectedText
});
location.href = 'org-protocol://capture?' + params.toString();
})();
单行书签版
javascript:(function(){const selectedText=(function(){var html="";var sel=window.getSelection();if(sel.rangeCount){var container=document.createElement("div");for(var i=0,len=sel.rangeCount;i<len;++i){container.appendChild(sel.getRangeAt(i).cloneContents());}html=container.innerHTML;}var dataDom=document.createElement('div');dataDom.innerHTML=html;dataDom.querySelectorAll('a').forEach(function(item,idx){console.log('find a link');var url=new URL(item.href,window.location.href).href;var content=item.innerText;item.innerText='[['+url+']['+content+']]';});['p','h1','h2','h3','h4'].forEach(function(tag,idx){dataDom.querySelectorAll(tag).forEach(function(item,index){var content=item.innerHTML.trim();if(content.length>0){item.innerHTML=content+' ';}});});return dataDom.innerText.trim();})();const params=new URLSearchParams({template:"w",url:location.href,title:document.title||"UNTITLED PAGE",body:selectedText});location.href='org-protocol://capture?'+params.toString();})();
相关帖子