如何解决Cloudflare的HTMLRewriter入门
我对使用HTMLRewriter完全陌生,但是有一些一般的js / html经验。我的任务相对简单,但实际上我不确定HTMLRewriter是如何工作的。我需要做的是
检索静态HTML页面 从您先前部署的JSON响应中获取链接 使用HTMLRewriter将这些链接添加到静态HTML页面 从Worker返回转换后的HTML页面 我的网址为“ https://static-links-page.signalnerve.workers.dev/”,但它不是本地的。所以我想知道的是;为了使用HTMLRewriter进行更改,复制/存储此静态html页面的正确方法是什么?
第二,我应该如何使用HTMLRewriter将自己的JSON url数组添加到检索到的HTML页面?我读到有关setInnerContent函数的信息,但是不确定是否应该使用该函数。
然后,最后,我确定这很简单,但是返回修改后的html页面的正确方法是什么?
同样,我的经验是一起编写html / js,因此我几乎没有从单个js文件中执行所有操作的经验,这是我了解cloudflare的最大好处之一。我可能不正确地处理了这个问题,提出了错误的问题,或者完全偏离了轨道,因此我们将不胜感激。
到目前为止,我的代码尽管存在已知缺陷,但仍在下面:
addEventListener('fetch',event => {
event.respondWith(handleRequest(event.request))
})
/**
* Respond with hello worker text
* @param {Request} request
*/
var myArray = [
{
"name": "Github","url": "https://github.com/"
},{
"name": "LinkedIn","url": "https://linkedin.com/"
},{
"name": "Firebase","url": "https://test-login-1573079166139.firebaseapp.com/"
}
]
async function handleRequest(request) {
//I am not sure if this is the correct way to copy/store a webpage
var basic_response = fetch('https://static-links-page.signalnerve.workers.dev');
//I know I have to do something here with this .on() function
const rewriter = new HTMLRewriter(basic_response)
.on()
const url = new URL(request.url)
console.log(rewriter);
var pathname = url.pathname;
if (pathname == '/links')
{
var obj = JSON.stringify (myArray);
return new Response(obj,{
headers: { 'content-type': 'application/json' },})
}
else
{
var result = JSON.stringify (rewriter);
//This does not work,and I am not sure what the correct way
//to return my modified webpage would be
return new Response(rewriter,})
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。