WorkerJS_CloudFlare_ImageBed/cloudflare-page/Tools-GoogleCache.html
BlueSkyXN 4b55af9d80 0.4.3
外观调整
2024-05-22 16:27:33 +08:00

143 lines
5.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Google Cache URL Converter</title>
<!-- INFO -->
<!--
本代码完全开源仅供学习CloudFlare Page和Worker组件编程使用
仓库地址 https://github.com/BlueSkyXN/WorkerJS_CloudFlare_ImageBed
不提供任何免费的技术支持、指导、问题解答请按GitHub标准用法进行issue等方式交互
请勿滥用本代码,违规使用后果自负,任何操作和后果均与本人无关
API接口均需要使用者自行解决本人不提供任何API接口服务
不得在中国大陆地区使用本代码
-->
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
<style>
.container {
margin-top: 50px;
}
.url-item {
margin-top: 10px;
border: 1px solid #ccc;
padding: 10px;
border-radius: 5px;
background-color: #f9f9f9;
display: flex;
align-items: center;
}
.copy-button {
margin-right: 10px;
background-color: #12ca49;
border-color: #12ca49;
white-space: nowrap;
}
.copy-button:hover {
background-color: #149e3e;
border-color: #149e3e;
}
.open-button {
margin-right: 10px;
background-color: #007bff;
border-color: #007bff;
white-space: nowrap;
}
.open-button:hover {
background-color: #0056b3;
border-color: #0056b3;
}
.input-group-prepend {
margin-right: 10px;
}
.description {
margin-right: 10px;
font-weight: bold;
white-space: nowrap;
}
.url-text {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex-grow: 1;
}
</style>
</head>
<body>
<a href="https://github.com/BlueSkyXN/WorkerJS_CloudFlare_ImageBed" target="_blank" title="Visit GitHub Repository">
<img src="https://icons.iconarchive.com/icons/iconoir-team/iconoir/48/github-circle-icon.png" width="48" height="48">
</a>
<div class="container">
<h2>Google Cache URL Converter</h2>
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-secondary" type="button" id="pasteUrl">Paste URL</button>
</div>
<input type="text" class="form-control" id="inputUrl" placeholder="Input Raw URL">
<div class="input-group-append">
<button class="btn btn-primary" onclick="transformUrl()">Transform URL</button>
</div>
</div>
<div id="urlList"></div>
</div>
<script>
document.getElementById('pasteUrl').addEventListener('click', function() {
navigator.clipboard.readText().then(text => document.getElementById('inputUrl').value = text);
});
function transformUrl() {
const originalUrl = document.getElementById('inputUrl').value;
if (originalUrl.trim() === '') {
alert('Please input a valid URL');
return;
}
const baseUrl = `https://webcache.googleusercontent.com/search?q=cache:${originalUrl}`;
const urls = [
{ url: baseUrl, description: '通用快照' },
{ url: `${baseUrl}&strip=0`, description: '网页快照' },
{ url: `${baseUrl}&strip=1`, description: '纯文快照' }
];
displayUrls(urls);
}
function displayUrls(urls) {
const urlList = document.getElementById('urlList');
urlList.innerHTML = '';
urls.forEach(({ url, description }) => {
const urlItem = document.createElement('div');
urlItem.className = 'url-item';
const descText = document.createElement('span');
descText.className = 'description';
descText.textContent = description;
const openBtn = document.createElement('button');
openBtn.className = 'btn btn-primary open-button';
openBtn.textContent = 'OPEN';
openBtn.onclick = function() { window.open(url, '_blank'); };
const copyBtn = document.createElement('button');
copyBtn.className = 'btn btn-info copy-button';
copyBtn.textContent = 'COPY';
copyBtn.onclick = function() { navigator.clipboard.writeText(url); };
const urlText = document.createElement('span');
urlText.className = 'url-text';
urlText.textContent = url;
urlItem.appendChild(descText);
urlItem.appendChild(openBtn);
urlItem.appendChild(copyBtn);
urlItem.appendChild(urlText);
urlList.appendChild(urlItem);
});
}
</script>
</body>
</html>