Javascript 使用bookmarklet获取已访问页面的url

Javascript 使用bookmarklet获取已访问页面的url,javascript,html,Javascript,Html,如何使用bookmarklet获取已访问页面的实际url 方法是单击书签,书签中的脚本返回url 这是一个功能,可在丛前作为“观看后”功能保存播放列表。所以它可以工作,但我不知道如何工作。javascript:(()=>{console.log(location.href);})(); location.href保存当前URL字符串 编辑以回答评论中的问题 你知道如何将它发送到php吗:script.php?url=this\u url 或 如何将当前URL作为搜索参数值发送到其他URL 假

如何使用bookmarklet获取已访问页面的实际url

方法是单击书签,书签中的脚本返回url

这是一个功能,可在丛前作为“观看后”功能保存播放列表。所以它可以工作,但我不知道如何工作。

javascript:(()=>{console.log(location.href);})();
location.href
保存当前URL字符串


编辑以回答评论中的问题

你知道如何将它发送到php吗:
script.php?url=this\u url

如何将当前URL作为搜索参数值发送到其他URL

假设您想将其发送到
https://example.com?script.php?url=
。您只需将
location.href
设置为新URL,并使用
encodeURI
对当前URL进行编码(从
location.href
)。(有点像元,对吧?)这就是它的样子:

javascript:(()=>{location.href=`https://example.com/script.php?url=${encodeURI(location.href)}`;}();
事实上,我会让你更容易。只需展开并运行下面的代码片段,就可以输入要发送到的URL(例如
https://example.com/script?url=
),您将看到JavaScript书签在键入时更新

(()=>{
"严格使用",;
const copyTextToClipboard=text=>新承诺(异步(解析、拒绝)=>{
常量回退=文本=>{
const textArea=document.createElement(“textArea”);
textArea.value=文本;
textArea.style.position='fixed';
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
试一试{
const successful=document.execCommand('copy');
成功的
?解决(正确)
:拒绝(新错误(''document.execCommand(\'copy\'))“失败”);
}捕捉(错误){
拒绝(错误);
}
最后{
document.body.removeChild(textArea);
}
};
如果(!navigator.clipboard){
回退(文本);
回来
}
试一试{
等待navigator.clipboard.writeText(文本);
决心(正确);
}
捕捉(错误){
拒绝(错误);
}
});
const input=document.getElementById('input');
const output=document.getElementById('output');
const copyButton=document.getElementById('copy');
const makeBookmarklet=string=>
`javascript:(()=>{location.href=\`${string}\${encodeURI(location.href)}\`;})();`;
const updateOutput=ev=>{
output.textContent=makeBookmarklet(ev.target.value.trim());
};
常量占位符https://example.com/script.php?url=';
input.placeholder=占位符;
output.textContent=makeBookmarklet(占位符);
addEventListener('input',updateOutput);
copyButton.addEventListener('click',()=>copyTextToClipboard(output.textContent));
})();
*{
框大小:边框框;
}
#输入,
#产出,
#抄袭{
边界半径:0.25em;
填充:0.5em;
}
#输入{
字体系列:monospace;
显示:块;
宽度:100%;
}
#输出{
背景颜色:浅灰色;
填充:1em;
}
#抄袭{
背景颜色:灰色;
颜色:白色;
光标:指针;
}
前{
字体大小:1.2米;
/*身高:5公分*/
边缘:1em 0.5em;
溢出-x:自动;
填充:1em 0;
}

复制书签
谢谢,我不知道会这么容易。:)你知道我怎样才能像这样把它发送到php吗:script.php?url=this_url太棒了,非常感谢。还有一件事,这样使用基本身份验证是可能的吗?@davinci不是一般的方式。基本身份验证是http请求中的头值,由浏览器自动发送。这只会更改浏览器的URL。在bookmarklet中完成获取请求是可能的,但我不建议将明文凭证存储在这样的书签中。您还可能遇到CORS问题等。