(注:はい、これはばかげた質問です。この質問に対する答えが「いいえ」であっても、私はまったく驚かないでしょう。つまり:)
私は、XML フラグメントに対して長時間の並列化不可能な計算を意図的に実行する XSLT スタイルシートを作成しました。ユーザーからの入力を必要としない一種の CAPTCHA として Web ブラウザーで使用される作業証明システムのコンポーネントとして意図されています。計算の結果は、非表示のフォーム要素として送信されます。ユーザーはデータをサーバーに POST します。フォームの内容は、計算された値が正しい場合にのみ受け入れられます。(計算は、サーバーがユーザーに関数への入力パラメーターを安価に提供できるように構成されており、サーバーは多くの作業を行わなくても結果を知ることができますが、ユーザーのマシンは、結果。)
変換は問題なく機能しますが、残念ながら、計算の進行中にブラウザーがハングします。私の目標は、ユーザーがブラウザを使用し続けている間にこの計算を実行することなので、これは容認できないほど迷惑な動作です。変換をバックグラウンドで実行し、実行中にブラウザを使用できるようにする方法はありますか? ソース XML フラグメントを iframe からロードすることも考えましたが、このアプローチを使用して変換をまったく機能させることができませんでした。これにさらに頭を悩ませる前に、誰か素晴らしいアイデアを持っているかどうかをここで尋ねてみようと思いました.ブラウザの動作を考えると根本的に不可能なことをしようとしているのなら、知っておくといいでしょう.
Javascriptでこれを行うことができることは知っていますが、そうする必要がないのはいいことです. 何か案は?
編集:皆さん、私は recaptcha.net やその他の代替手段について知っています。これは実験です。私の目標は、ユーザーにとって負担が大きすぎない方法で、理論的なアイデアを実践に還元できるかどうかを調べることです。私は代替の実装を探しているのではなく、Javascript を使用しない暗号学的に強力な CAPTCHA を実行する方法を探しています。(Javascript を使用したい場合は、Javascript ハッシュキャッシュの実装の 1 つを使用します。) 他のブラウザー ベースのチューリング完全言語は XSLT だけです。質問された精神で質問を検討してください。