(注意:是的,这是一个荒谬的问题,如果这个问题的答案是“否”,我完全不会感到惊讶。也就是说:)
我编写了一个 XSLT 样式表,它故意在 XML 片段上执行冗长的、不可并行的计算。它旨在作为工作量证明系统的一个组件,在 Web 浏览器中用作一种不需要用户输入的验证码——计算结果作为隐藏的表单元素提交时用户 POST 数据到服务器。仅当计算值正确时才接受表单内容。(计算的结构使得服务器可以廉价地为用户提供函数的输入参数,并且服务器无需做很多工作就知道结果,但用户的机器必须花费周期来确定结果。)
转换工作得很好,但不幸的是在计算进行时会挂起浏览器。由于我的目标是在用户继续使用浏览器时运行此计算,因此这是令人无法接受的烦人行为。有没有办法让转换成为背景并让浏览器在运行时保持可用?我的一个想法是从 iframe 加载源 XML 片段,但我无法使用这种方法让转换工作。我想我会在这里询问是否有人有任何绝妙的想法,然后再进一步反对我 - 如果我正在尝试做一些鉴于浏览器的工作方式根本不可能的事情,很高兴知道。
我知道我可以在 Javascript 中做到这一点,但最好不必这样做。有任何想法吗?
编辑:伙计们,我知道 recaptcha.net 和其他替代品。这是一个实验。我的目标是找出一个理论想法是否可以以一种对用户来说不太繁重的方式转化为实践。我不是在寻找替代实现,而是在寻找一种不涉及 Javascript 的加密强 CAPTCHA 的方法。(如果我想使用 Javascript,我会使用其中一种 Javascript hashcash 实现。)唯一的其他基于浏览器的图灵完备语言是 XSLT。请以提出问题的精神考虑问题。