0

キャプチャコードを含むフォームをデザインしています。

CAPTCHAコードからの潜在的な収益を提供するため、Solve Mediaを使用してこれを提供することにしました(http://www.solvemedia.com/publishers/captcha-type-in​​を参照)。

ただし、「パズル」を表示するコードに問題があります

次のコードは機能します(body onload = "function"を使用します)

    <html><head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {

    $.getScript("https://api-secure.solvemedia.com/papi/challenge.ajax", function() {
    });

});
function showPuzzle(){
    ACPuzzle.create('v3IzWqCqSh23kq5PnRSbVZrYwWlRYBL-', 'acwidget', { lang: 'en', size: 'standard' });      
}   

function submitButton(){
var user_challenge = document.getElementById('adcopy_challenge').value;
var user_response = document.getElementById('adcopy_response').value;



$.ajax({ url: 'libs/shared-functions.php',
    data: {action:'solveCaptchaCode',challenge:user_challenge, response:user_response},
    type: 'post',
    success: function (output) {
        alert(output);
        console.log(output);
    }
});}
    </script>
    </head>
    <body onload="showPuzzle();">
    Puzzle: <br />
    <div id="acwidget"></div>

      <br />  <br />  <br />  <br />
      <button onclick="submitButton()">Submit</button>
    </body>
    </html>

しかし、タゲを外すと

    <body onload="showPuzzle();">

.ready関数をに変更します

    $(document).ready(function() {

    $.getScript("https://api-secure.solvemedia.com/papi/challenge.ajax", function() {
        showPuzzle();
    });

});

エラー「ReferenceError:Can't find variable:ACPuzzle」が発生します。失敗したコードをhttp://jsfiddle.net/Mhpmf/にアップロードしました

誰かがこの問題の解決策を知っていますか?

既存のコードと統合するために、.ready関数内で作成されるパズルを作成するリクエストが必要です。

前もって感謝します

4

2 に答える 2

1

次を使用できます。

window.onload = function() {
    $.getScript("https://api-secure.solvemedia.com/papi/challenge.ajax", function() {
        showPuzzle();
    });
}
于 2012-09-14T16:28:55.650 に答える
0

@Zathrus Writerが正しく言ったように、

window.onload = function(){...}は機能します。

于 2012-09-14T16:28:00.847 に答える