【发布时间】:2021-08-30 05:29:51
【问题描述】:
您好,感谢您的帮助。 遗憾的是,CF 的支持人员认为他们不需要帮助我。
我正在学习使用 worker,并编写了一个简单的 HTML 注入器,只是为了看到它在我的网站上运行。
这是我拥有的完整工作代码:
async function handleRequest(req) {
const res = await fetch(req)
const contentType = res.headers.get("Content-Type")
console.log('contentType: ', contentType)
// If the response is HTML, it can be transformed with
// HTMLRewriter -- otherwise, it should pass through
if (contentType.startsWith("text/html")) {
return rewriter.transform(res)
} else {
return res
}
}
class UserElementHandler {
async element(element) {
element.before("<div class='contbox'><img src='https://coverme.co.il/wp-content/uploads/2020/01/covermeLOGO-01-1024x183.png' style='width:200px;margin:20px;'><h1>testing inserting</h1></div>", {html: true});
// fill in user info using response
}
}
const rewriter = new HTMLRewriter()
.on("h1", new UserElementHandler())
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})
它只是使用 element.before 来注入一些 HTML。 在工作人员预览窗格中,我可以看到它! 但在现场 = 什么都没有。
这是活动 URL:[https://coverme.co.il/product/%D7%A0%D7%A8-%D7%91%D7%99%D7%A0%D7%95%D7% A0%D7%99-晚香玉/]
这些是我设置的 4 条路线来尝试捕捉这一点,无论是否对字母进行编码:
coverme.co.il/product/נר-בינוני-tuberosejasmine/
*.coverme.co.il/product/נר-בינוני-tuberosejasmine/*
https://coverme.co.il/product/%D7%A0%D7%A8-%D7%91%D7%99%D7%A0%D7%95%D7%A0%D7%99-tuberosejasmine/
*.coverme.co.il/product/%D7%A0%D7%A8-%D7%91%D7%99%D7%A0%D7%95%D7%A0%D7%99-tuberosejasmine/*
提前致谢!
【问题讨论】: