Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开始使用Cloudflare';s HTMLRewriter_Javascript_Html_Json_Cloudflare_Cloudflare Workers - Fatal编程技术网

Javascript 开始使用Cloudflare';s HTMLRewriter

Javascript 开始使用Cloudflare';s HTMLRewriter,javascript,html,json,cloudflare,cloudflare-workers,Javascript,Html,Json,Cloudflare,Cloudflare Workers,我在使用HTMLRewriter方面是一个全新的人,但是我有一些js/html方面的经验。我的任务相对简单,但我真的不确定HTMLRewriter是如何工作的。我需要做的是 检索静态HTML页面 从以前部署的JSON响应获取链接 使用HTMLRewriter将这些链接添加到静态HTML页面 从Worker返回已转换的HTML页面 我有网址“https://static-links-page.signalnerve.workers.dev/,“但它不是本地的。所以我想知道的是,;为了使用HTMLR

我在使用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, {
      headers: { 'content-type': 'application/json' },
    })
  }
}