跳至主要内容

无服务器 自建短链服务 Url-Shorten-Worker 页面缓存曾经记录的短链接 localStorage

 源码GitHub: 

https://github.com/Crap996/Url.CF-Web

搭建方法:

https://blog.uncle.cloudns.org/2023/12/url-shorten-worker.html

效果:

不同的浏览器页面,缓存不互通。这样,不同的使用者互相之间不知道用本服务创建了什么短链。

方案:

当成功生成短链时,将短链与原链接保存到浏览器缓存 localStorage。

当打开此页面时,加载浏览器缓存 localStorage。

此 浏览器缓存 localStorage 为持久化保存的数据,关闭页面后还是保存在浏览器所在的机器上。

参考:

JS增加页面元素

https://blog.csdn.net/weixin_39961943/article/details/110746052

JS删除页面元素

https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild

操作浏览器缓存localStorage

http://caibaojian.com/localstorage-sessionstorage.html

具体实施:

在main.js中

// 成功生成短链
if (res.status == "200") {
  let keyShortURL = window.location.host + res.key;
  let valueLongURL = document.querySelector("#longURL").value;
  // save to localStorage
  localStorage.setItem(keyShortURL, valueLongURL);
  // add to urlList on the page
  let urlList = document.querySelector("#urlList")
  let child = document.createElement('li')
  let text = document.createTextNode(keyShortURL + " " + valueLongURL)
  child.appendChild(text)
  urlList.append(child)
}

新增一个load.js

定义了加载 localStorage 显示在页面上的函数。并且在末尾调用了一下。达到页面显示完后加载 localStorage 的效果。

考虑到如果服务重新部署,或者清空KV,会导致 localStorage 中保存的数据实际上在KV中并不存在。在load.js中写了一个清除localStorage的函数,并在页面上做了一个按钮调用它。

 

评论

此博客中的热门博文

解决 ClouDNS 域名申请 CloudFlare SSL 证书问题

Text.  在上篇文章,我讲解过了如何在 ClouDNS 上申请自己的免费二级域名。但是如果使用这个域名并配合 CloudFlare 的 SSL 证书的话,可能会出现这个问题。在这篇文章中,我们就着手来解决这个问题 准备材料 ClouDNS 域名 CloudFlare 账号 部署步骤 打开 CF 的控制面板,然后进入到自己的域名。转到 SSL 中的 Edge Certificates 页面,找到类似 *.xx.cloudns.biz, xx.cloudns.biz 的选项,点击展开,然后复制里面的 TXT 记录和值备用 打开 ClouDNS 的域名 DNS 的 TXT 解析页面,然后点击 “Add new record” 按钮,创建 TXT 记录 将 CF 的解析值填写进来 等待大概 15-30 分钟,然后 Status 出现 “Active” 即可

解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题

Text. 在我们将 ClouDNS 域名 CloudFlare 之后,估计大家可能发现了一个问题:如果在 CloudFlare 的 DNS 解析这个域名,那这个域名有可能无法使用。这是因为不知道啥的原因,ClouDNS 的域名 DNS 还未完全转接给 CloudFlare 进行托管。这篇教程中,我就来和大家一起来解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题。 准备材料 ClouDNS 域名及账号 CloudFlare 账号 解决步骤 打开 CF 的 DNS 控制面板,解析自己的域名,并关闭小云朵 我们这时可以尝试 ping,可以发现是很大概率是 ping 不出来的 这时,我们回到 ClouDNS 的域名解析页面,添加一条和 CF DNS 相同样的记录 等待 ClouDNS 解析好之后,再次尝试 ping,如果 ping 出来的 ip 是解析好的 ip,即可代表成功。

节点客户端推荐:Karing,支持 Win / Mac / 安卓 / iOS,并附使用教程

  相信有些小白肯定和我几年前刚入坑一样热衷于使用 XX VPN 这种软件觉得一键上手挺容易,而不去使用机场、自建节点。但是这种 VPN 来说肯定比自建节点来讲是不安全的。那么我们有没有一款软件可以让小白去使用机场、自建节点呢?这篇文章介绍的 Karing,就是这种软件。下面我来和大家一起了解并使用这款软件 准备材料 Win / Mac / 安卓 / iOS 平台的设备 步骤 如为 Win / 安卓设备,打开他们的项目: https://github.com/KaringX/karing/releases ,然后根据自己的平台下载对应的安装包。如为 Mac / iOS 设备,直接在 App Store 搜索 Karing / Karing VPN 安装即可 打开 Karing,这里我们选择简体中文,点击“下一步” 分流规则这里按照默认即可,点击“下一步” 在这里我们可以通过订阅 / 节点链接、导入配置文件和扫码来添加节点 这里就以添加订阅为例,在配置链接处复制粘贴订阅链接,然后填写备注,最后点击右上角按钮添加即可 点击中间的开关按钮,启用代理。这里程序会挑选出延迟最低的节点供你链接 可以点击最下面的框,然后手动选择某一节点进行链接 可以在设置→我的配置处,管理自己的订阅配置 Text. Text.